ios - 长按按钮显示 UIView

标签 ios iphone uiview swift uibutton

也许有人已经问过这个问题,但我没有找到。

我的屏幕上有一些按钮,当用户点击一个按钮(并按住它大约 2 秒)时,一个新的 UIView 应该会出现在用户点击的位置。就像 iOS 键盘上的按钮一样,如果您点击(例如)“E”按钮,它应该会显示一个包含一些额外按钮的新 View 。

我没有找到任何解决方法,所以如果您知道如何解决这个问题,请帮助我。

编辑: 我添加了 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")
    }
}

最佳答案

    //set gesture recognizer for long press
    UILongPressGestureRecognizer *gestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressedHandler:)];
    [button addGestureRecognizer:gestureRecognizer];
    [gestureRecognizer release];

关于ios - 长按按钮显示 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26255392/

相关文章:

ios - AFNetworking - 发布请求不起作用

iphone - NSDictionary,这是为什么

iphone - UITableview背景 View 颜色-iphone

ios - 如何将图像旋转 360 度两次?

ios - SpriteKit 坐标系困惑

ios - XCode如何确定什么是资源,什么不是资源?

iphone - 如何检查两个 ImageView 是否处于同一位置?

ios - 如何从其中包含许多 UITextview 的 UIView 复制和检索数据

ios - 隐藏 UIView 时屏幕自动调整大小

ios - 像会说话的汤姆猫应用程序一样录制视频