我有一个水平 uistackview,里面有 5 个 ImageView 。我需要获取被点击的 ImageView 的 ID。我尝试添加点击手势标识符并获取发件人的 ID,但我没有得到它。
到目前为止我尝试过的方法如下
@IBOutlet weak var userRateViewStar1ImageOutlet : UIImageView!
@IBOutlet weak var userRateViewStar2ImageOutlet : UIImageView!
@IBOutlet weak var userRateViewStar3ImageOutlet : UIImageView!
@IBOutlet weak var userRateViewStar4ImageOutlet : UIImageView!
@IBOutlet weak var userRateViewStar5ImageOutlet : UIImageView!
@IBOutlet weak var userRateViewTextAreaOutlet : UITextView!
@IBOutlet var starOutletCollectionOutlet : [UIImageView]!
@IBAction func starRatingAction(_ sender: UITapGestureRecognizer)
{
var tag = sender.view!.tag
print(tag)
}
基本上我正在尝试实现费率功能。
那么有人可以建议我一种实现这个的方法吗?
提前致谢
最佳答案
更简单的方法可能是创建 IBOutletCollection 例如:
//1. Create An Array Of Your ImageViews
@IBOutlet var ratingStarImageViews: [UIImageView]!
然后为它们分配一个标签和手势,例如:
//2. Assign Tags To The Them
var tag = 0
for view in ratingStarImageViews{
let ratingGesture = UITapGestureRecognizer(target: self, action: #selector(starRatingAction(_:)))
view.addGestureRecognizer(ratingGesture)
view.tag = tag
tag += 1
}
希望有帮助。
关于ios - 如何在stackview中获取imageview的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47449744/