繁体   English   中英

iOS-NotificationCenter addObserver“ UIMenuControllerWillHideMenu”

[英]iOS - NotificationCenter addObserver “UIMenuControllerWillHideMenu”

我已经为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")与刚刚.UIMenuControllerWillHideMenu

private func addMenuObserverNotification(){
    NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: .UIMenuControllerWillHideMenu), object: nil)
}

我通过添加它的初始化程序NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")犯了一个错误,由于NSNotificationNametypedef NSString ,它可能不需要,它可以直接使用.<value name>访问预定义的值.<value name>

更多细节:
addObserver:选择器:名称:对象:
NSNotificationName

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM