谁发布我的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
方法中删除。