iOS – NotificationCenter addObserver“UIMenuControllerWillHideMenu”
我已经为UIMenuControllerWillHideMenu
添加了通知观察者,但是它不会调用添加/关联通知中心的select器。
UIMenuControllerWillHideMenu
是UIMenuControllerWillHideMenu
的通知中心标识符,应该在UIMenuController
隐藏时UIMenuController
。 但不知何故,这是行不通的。
这里是我试过的代码(Swift 3.x):
private func addMenuObserverNotification(){ NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu"), object: nil) } // This function should be called on 'UIMenuControllerWillHideMenu' func menuControllerWillHideMenu() -> Void { removeMenuObserverNotification() } private func removeMenuObserverNotification(){ NotificationCenter.default.removeObserver(self) }
无法识别,什么是错的。
通过用NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")
replaceNSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")
find解决scheme
private func addMenuObserverNotification(){ NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: .UIMenuControllerWillHideMenu), object: nil) }
我做了一个错误,通过添加它的初始化NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")
,可能不需要NSNotificationName是typedef NSString
,它直接允许访问预定义的值使用.<value name>
更多细节:
的addObserver:select:名称:对象:
NSNotificationName