谁发布我的UIKeyboardDidHideNotification?

我想注册到只有我的UIViewController正在发布的UIKeyboardDidHideNotification

当我做 :

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:self]; 

我没有得到keyboardDidHide:任何电话keyboardDidHide:当我这样做:

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

我从所有其他视图控制器以及我自己的调用。

我如何注册到仅由特定视图控制器引发的UIKeyboardDidHideNotification

您无法注册来自特定控制器的UIKeyboardDidHideNotification。

如果使用UIKeyboardWillHideNotification,则可以检查控制器中的一个UITextView是否是第一个响应者。

使用UIKeyboardDidHideNotification我想你需要使用所有的UITextView的委托方法,并保存最后一个编辑。 我不认为有其他的select。

否则,如果问题是仅在可见控制器上执行由UIKeyboardDidHideNotification调用的方法,@ sviatoslav-yakymiv的解决scheme运行良好。

UIKeyboardDidHideNotification对象始终nil 。 尝试在viewWillAppear添加观察者,并在viewDidDisapper方法中删除。