【发布时间】:2016-03-19 03:04:13
【问题描述】:
我在其他一些 UI 组件之上有一个 UIView 来检测长按手势。当长按开始时,我想通过将背景颜色更改为灰色和 alpha = 0.1 来提示用户。
长按结束后,UIView 必须改回为完全透明。我将它的 alpha 设置为 0,但问题是...
无法检测到其他客人。
mainView = UIView()
mainView.frame = ...
let longPressRecognizer = UILongPressGestureRecognizer(target: self, action:Selector("longPressed:"))
mainView.addGestureRecognizer(longPressRecognizer)
func longPressed(sender: UILongPressGestureRecognizer) {
let view = sender.view!
if sender.state == .Began {
view.backgroundColor = UIColor.grayColor()
view.alpha = 0.1
} else if (sender.state == .Ended || sender.state == .Cancelled || sender.state == .Failed) {
view.backgroundColor = UIColor.whiteColor()
view.alpha = 0
}
}
什么是让这个UIView变回其原始状态的正确方法,以便在最初创建时可以检测到更多手势?
【问题讨论】:
标签: ios swift cocoa-touch uiview