gpt4 book ai didi

ios - 使用 UITapGestureRecognizer 更改标签颜色

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:27 25 4
gpt4 key购买 nike

我有一个带有 UITapGestureRecognizer 和 longgestureRecognizer 的标签:

let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed:"))
let longgestureRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("longLabelPressed:"))
label.addGestureRecognizer(gestureRecognizer)
label.addGestureRecognizer(longgestureRecognizer)

我想像 UIButton 一样在按下时改变颜色:

func longLabelPressed(recognizer:UILongPressGestureRecognizer){
if let label = recognizer.view as? UILabel {
if recognizer.state == .Began {
label.textColor = UIColor.redColor()
}

if recognizer.state == .Ended {
label.textColor = UIColor.blackColor()
}



}
}

但是如何检测点击结束事件呢?

func labelPressed(recognizer:UITapGestureRecognizer) {
if let label = recognizer.view as? UILabel {

}

}

我的目标是创建带有触摸事件的 UIButton 之类的标签。

最佳答案

标签的 UserInteractionEnabled 默认为 false。所以如果你正在使用它的标 checkout 口然后从(XIB/ Storyboard)启用它

现在使用 UILongPressGestureRecognizer 使标签与按钮相同然后你的事件调用成功,但你在 UILongPressGestureRecognizer 中编写了标签颜色更改代码,因此它需要一些时间(默认时间)来检测触摸事件。 recognizer.state == .Began 所以改变长按手势的最短时间

longgestureRecognizer.minimumPressDuration = 0.001

使用 recognizer.state == .Began 将快速调用。

关于ios - 使用 UITapGestureRecognizer 更改标签颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656102/

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