iOS - NotificationCenter addObserver "UIMenuControllerWillHideMenu"
iOS - NotificationCenter addObserver "UIMenuControllerWillHideMenu"
我已经为 UIMenuControllerWillHideMenu
添加了通知观察器,但它不会通过通知中心调用选择器 added/associated。
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")
替换为 .UIMenuControllerWillHideMenu
找到了解决方案
private func addMenuObserverNotification(){
NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: .UIMenuControllerWillHideMenu), object: nil)
}
我错误地添加了它的初始化器 NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")
,这可能不需要,因为 NSNotificationName 是 typedef NSString
,它直接允许使用 .<value name>
访问预定义值
我已经为 UIMenuControllerWillHideMenu
添加了通知观察器,但它不会通过通知中心调用选择器 added/associated。
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")
替换为 .UIMenuControllerWillHideMenu
private func addMenuObserverNotification(){
NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: .UIMenuControllerWillHideMenu), object: nil)
}
我错误地添加了它的初始化器 NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")
,这可能不需要,因为 NSNotificationName 是 typedef NSString
,它直接允许使用 .<value name>
访问预定义值