获取点击手势识别器的标签或索引
Posted
技术标签:
【中文标题】获取点击手势识别器的标签或索引【英文标题】:Getting tag or index for a tap gesture recognizer 【发布时间】:2017-05-24 19:50:39 【问题描述】:我有一个 uitapgesturerecognizer,用于 uiview。我在滚动视图中有 30 个这样的 uiview。同样在这些视图中的每一个中,每个视图都有一个带有不同单词的标签。现在,当我点击轻击手势识别器时,我想从该特定视图的标签中访问文本。发生的事情是我正在打印索引中最后一个视图的单词。有人可以告诉我如何访问每个索引中的每个视图。
open var Name: UILabel!
open func ynCategoryButtonClicked(_ sender: UITapGestureRecognizer)
guard let text = Name.text else return
ynSearch.appendSearchHistories(value: text)
self.delegate?.ynCategoryButtonClicked(text: text)
【问题讨论】:
【参考方案1】:您将 tapGesture 分配给“UIButtonView”的位置,添加以下行:
yourButton.accessibilityHint = "YourText"
在你的“buttonTapped()”方法中得到这样的文本:
let yourText = "\(sender.accessibilityHint)"
希望这会有所帮助!
【讨论】:
【参考方案2】:老实说,听起来您应该使用 UITableView。不管怎样,你应该改变你的委托方法ynCategoryButtonClicked
来传递一个对自身的引用(比如delegate?.ynCategoryButtonClicked(text: text, ynCategory: self)
)。然后,如果您走 TableView 路线,您可以使用indexPath(for:UITableViewCell)
找到索引。或者,如果你坚持使用滚动视图,你应该能够维护一个视图数组,然后在它们中搜索ynCategory
。
【讨论】:
以上是关于获取点击手势识别器的标签或索引的主要内容,如果未能解决你的问题,请参考以下文章