【问题标题】:Swift LongPressGestureRecognizer on NavigationBarNavigationBar 上的 Swift LongPressGestureRecognizer
【发布时间】:2014-12-07 07:39:11
【问题描述】:

我有一个UINavigationBar 和一个UILongPressGestureRecognizer,当我在屏幕上的某个矩形内按住 0.7 秒后按下它应该被激活。我现在的问题是:我希望在点击 NavigationBar 的标题时激活 GestureRecognizer。但是在导航栏上无法识别点击 - 检测到导航栏之外的每个点。我怎样才能使这项工作?帮助会很棒:]

【问题讨论】:

    标签: objective-c swift ios8 xcode6 uinavigationbar


    【解决方案1】:

    我看不出有什么问题。您需要在 UINavigationBar 上添加 GestureRecognizer。这是我的例子:

    class CustomNavigationBar: UINavigationBar {
    
        var longPressRecognizer : UILongPressGestureRecognizer? = nil
    
        override func awakeFromNib() {
            super.awakeFromNib()
            longPressRecognizer = UILongPressGestureRecognizer(target: self, action: "longPressAction")
            self.addGestureRecognizer(longPressRecognizer!)
        }
    
        func longPressAction() {
            NSLog("action")
        }
    
    }
    

    【讨论】:

    • 好的,谢谢您的回答,我稍后再试。只是为了确定:使用起来不是更优雅!当初始化 GestureRecognizer 而不是使其可选并使用 nil 初始化时?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多