ios - 如何在stackview中获取imageview的标签

标签 ios swift uiimageview ios11 uitapgesturerecognizer

我有一个水平 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/

相关文章:

ios - 创建新文件并使用 NSFileManager objective c 读取它

ios - 砌体示例 updateConstraints 与 remakeConstraints

使用 Sinch 和 Swift 进行 iOS 推送通知

ios - 当从 Interface Builder 设置 UIImageView 的图像时,该图像是如何加载的?

ios - 在 subview 中应用任何 "transform"后缩放 UIScrollView

iphone - uitableview重复图像

ios - UICollectionView 在单元格之间添加间隙

ios - 如何在 IOS 8 中使 UINavigationBar 透明?

ios - Xcode 代码自动完成函数中的奇怪行为

ios - Closed::Creating a UIButton horizo​​ntal carousel with swipe and tap 手势