添加手势识别器
Posted
技术标签:
【中文标题】添加手势识别器【英文标题】: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
)
【问题讨论】:
为什么要重复:***.com/questions/52946326/tap-gesture-not-detected? 你能帮忙吗?没有回答我以为它被删除了我想刷新它请帮助我 不,因为我不知道你的问题。但不要重复问题。如果人们发表评论,他们至少会尽力提供帮助,如果他们询问有关 var 值或其他内容的更多信息,至少提供它。 我提供了所有没有人帮助的信息 “没有人有解决方案” 当人们发表评论时,通常他们会试图帮助获取更多信息,或者至少是为了另一个可以看到你的问题的人。但是你的问题只有4个小时。人们有工作要做、睡觉等等。 【参考方案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 吗? 然后当我尝试添加一个''时,会出现另一个错误,说明表达式列表中的预期表达式以上是关于添加手势识别器的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionView:将单击手势识别器添加到补充视图