4

初始化部分:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) 
                                                 name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) 
                                                 name:UIKeyboardWillHideNotification object:nil]; 

一些方法:

- (void) keyboardWillShow:(NSNotification*) aNotification {
// TO DO 
}

释放部分:

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

因此,在 iOS 6.1 中呈现视图后不会调用 keyboardWillShow...在 iOS 6.0 中,此代码可以完美运行。

4

1 回答 1

2

在哪个“初始化部分”中添加了观察者?例如,如果您的视图控制器来自故事板,那么它应该位于- (id)initWithCoder:(NSCoder *)decoder.

然而,我的建议是viewWillAppearviewWillDisappear. 这样设置和拆除是“平衡的”,并且仅在视图控制器的内容可见时才有效。

于 2013-05-22T22:17:18.833 回答