我有一个基于拆分视图的应用程序,并希望在显示根菜单时收听某种通知。我想这样做的原因是因为键盘与菜单重叠,所以我想在显示菜单时隐藏键盘。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:<Some Notification Here>
object:self.view.window];
我已经有了隐藏键盘的方法,我只是在寻找合适的通知。
谢谢!
答案 0 :(得分:0)
您可以从根菜单中自行发布通知。只需将其子类化并在viewDidAppear
或viewWillAppear
上发布通知。
警告:如果您的目标是iOS 5及更高版本,请注意iOS6中不推荐使用viewWillAppear
和viewDidAppear
。使用
willMoveToParentViewController
或didMoveToParentViewController
或-(void)viewWillLayoutSubviews
-(void)willMoveToParentViewController:(UIViewController *)parent{
if (!parent)
//post notification here
}
此外,您可以提供nil作为通知名称并收听任何可能的通知,然后将其注销,也许您可以在那里找到有用的通知,只需确保将其记录下来以保护您的产品。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationReceived:) name:nil object:nil];