我有一个水平的uistackview,我有5个图像视图。我需要获取被点击的图像视图的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)
}
基本上我正在尝试实施费率功能。
那么有人可以建议我实现这个方法吗?
提前致谢
答案 0 :(得分:0)
更简单的方法可能是创建一个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
}
希望它有所帮助。