【问题标题】:Add Gesture Recogniser添加手势识别器
【发布时间】:2019-03-27 19:31:45
【问题描述】:

由于某种原因,手势识别器不起作用,它不会使背景再次正常。如何修复它以使选择器 (self.dissmissMenu) 起作用?

在视图控制器中:

let menu = Menu()
@IBAction func menuButton(sender: AnyObject) {   
     menu.runMenu()  
}

在菜单中:

import UIKit

class Menu: NSObject {
    let dimming = UIView()

    public func runMenu(){
        if let window = UIApplication.sharedApplication().keyWindow{
            dimming.frame = window.frame
            dimming.backgroundColor = UIColor(white: 0, alpha: 0.5)
            dimming.addGestureRecognizer(UITapGestureRecognizer(target: self, action: Selector(self.dissmissMenu())))

            window.addSubview(dimming)

            UIView.animateWithDuration(0.5, animations: {
                self.dimming.alpha = 1
            })
        }
    }

    public func dissmissMenu(){
        UIView.animateWithDuration(0.5, animations: {
            self.dimming.alpha = 0
        })
    }
}

【问题讨论】:

  • 你能帮忙吗?没有回答我以为它被删除了我想刷新它请帮助我
  • 不,因为我不知道你的问题。但不要重复问题。如果人们发表评论,他们至少会尽力提供帮助,如果他们询问有关 var 值或其他内容的更多信息,至少提供它。
  • 我提供了所有没有人帮助的信息
  • “没有人有解决方案” 当人们发表评论时,通常他们会试图帮助获取更多信息,或者至少是为了另一个可以看到你的问题的人。但是你的问题只有4个小时。人们有工作要做、睡觉等等。

标签: swift xcode swift2


【解决方案1】:

尝试像这样重写对addGestureRecognizer的调用:

dimming.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(dissmissMenu())))

【讨论】:

  • nope 不能与#selector 一起使用,因为它的 swift 2 不是 swift 3
  • Swift 2.2 有它。 navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: #selector(addNewFireflyRefernce)) } func addNewFireflyReference() { gratuitousReferences.append("诅咒你突然但不可避免的背叛!") } 这是来自swift.org/blog/swift-2-2-new-features
  • 它出现了一个错误,在 # 之前出现了预期的“,”分隔符
  • 你真的必须使用 Swift 2 吗?
  • 然后当我尝试添加一个''时,会出现另一个错误,说明表达式列表中的预期表达式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多