gpt4 book ai didi

ios - Swift - 如何将点击手势添加到 UIViews 数组?

转载 作者:行者123 更新时间:2023-11-28 05:46:58 25 4
gpt4 key购买 nike

希望将点击手势添加到 UIView 数组 - 但没有成功。在此阶段似乎无法识别 Tap。

在下面的代码(摘录)中:在主视图上显示一系列 PlayingCardViews(每个都是一个 UIView)。汇集为一个数组:cardView。需要能够独立点击每个 PlayingCardView(然后能够识别点击的是哪个)。

@IBOutlet private var cardView: [PlayingCardView]!


override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(tapCard(sender: )))
for index in cardView.indices {
cardView[index].isUserInteractionEnabled = true
cardView[index].addGestureRecognizer(tap)
cardView[index].tag = index
}
}

@objc func tapCard (sender: UITapGestureRecognizer) {
if sender.state == .ended {
let cardNumber = sender.view.tag
print("View tapped !")
}
}

最佳答案

你需要

@objc func tapCard (sender: UITapGestureRecognizer) { 
let clickedView = cardView[sender.view!.tag]
print("View tapped !" , clickedView )
}

这里不需要检查状态,因为这种手势类型的方法只被调用一次,而且每个 View 都应该有一个单独的点击,所以在 for 循环中创建它

for index in cardView.indices  { 
let tap = UITapGestureRecognizer(target: self, action: #selector(tapCard(sender: )))

关于ios - Swift - 如何将点击手势添加到 UIViews 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54292558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com