寻找某种TableViewDidDisplayNotification

时间:2012-07-24 18:59:37

标签: objective-c uitableview nsnotificationcenter

我有一个基于拆分视图的应用程序,并希望在显示根菜单时收听某种通知。我想这样做的原因是因为键盘与菜单重叠,所以我想在显示菜单时隐藏键盘。

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillHide:) 
                                                 name:<Some Notification Here> 
                                               object:self.view.window];

我已经有了隐藏键盘的方法,我只是在寻找合适的通知。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以从根菜单中自行发布通知。只需将其子类化并在viewDidAppearviewWillAppear上发布通知。

警告:如果您的目标是iOS 5及更高版本,请注意iOS6中不推荐使用viewWillAppearviewDidAppear。使用 willMoveToParentViewControllerdidMoveToParentViewController-(void)viewWillLayoutSubviews

-(void)willMoveToParentViewController:(UIViewController *)parent{
    if (!parent)
      //post notification here


}

此外,您可以提供nil作为通知名称并收听任何可能的通知,然后将其注销,也许您可​​以在那里找到有用的通知,只需确保将其记录下来以保护您的产品。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationReceived:) name:nil object:nil];