显示UIView也许有人已经问过这个问题,但我还没有找到它。我有一些按钮在我的屏幕上,当用户点击一个按钮(并保持约2秒),一个新的UIView应该出现在用户正在点击的位置。就像iOS键盘上的一个按钮一样,如果您点按(例如)“E”按钮,它应显示包含一些额外按钮的新视图。长按按钮
我没有找到任何解决方案如何做到这一点,所以请帮助我,如果你知道如何解决这个问题。
编辑: 我已经添加了LongPressGestureRecognizer,但这个手势永远不会被解雇。
这里是我的代码:
var longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "buttonLongPressed:")
longPressGestureRecognizer.minimumPressDuration = 1.5
longPressGestureRecognizer.allowableMovement = 1
for buttonTitle in buttonTitles{
var button : UIButton!
if(buttonTitle.length == 1) {
button = createButtonWithTitle(buttonTitle)
} else {
button = createButtonWithImage(buttonTitle)
}
button.addGestureRecognizer(longPressGestureRecognizer)
}
func buttonLongPressed(recognizer : UILongPressGestureRecognizer) -> (Void) {
NSLog("tapped")
if(recognizer.state == UIGestureRecognizerState.Failed) {
NSLog("failed")
}
if(recognizer.state == UIGestureRecognizerState.Ended) {
NSLog("ended")
}
if(recognizer.state == UIGestureRecognizerState.Began) {
NSLog("began")
}
}
“longPressedHandler:”看起来像什么?什么参数?我怎样才能得到用户点击的位置? – beeef 2014-10-08 11:10:09
我也想实现这个功能,当用户点击一个按钮并且轻扫时,它总是应该激活当前用户手指所在的按钮。因为通常情况下,如果您点击一个按钮,该按钮将保持“活动”状态,直到您释放它为止。 – beeef 2014-10-08 11:11:30