我有一個向下鑽取的導航應用程序,具有三個級別的UIViewControllers。 在每個視圖控制器中,我有一個UITextField,我試圖爲每個UIKeyboard子類。我的問題是在哪裏「設置」通知並「取消」它們。UIKeyboard通知的最佳實踐 - iPhone SDK
我有通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
所以最好還是將它們設置在viewDidLoad中的事件嗎?或viewWillAppear事件?
27:11 [[NSNotificationCenter defaultCenter] removeObserver:self];
我不想有多個keyboardWillShow:
事件被稱爲我深入。
非常感謝, 佈雷特
viewDidUnload:在iOS 6.0中不贊成使用。視圖不再在低內存條件下清除,因此此方法從不被調用。 – Vamos 2013-01-22 10:58:58
在init中註冊,在dealloc中取消註冊 – jjxtra 2013-02-04 17:20:23
取決於您何時想實現什麼 – drct 2013-02-18 11:30:16