0
我正在處理嵌入的表格視圖。當鍵盤隱藏一些文本框時,它們應該向上滾動。但是,我的導航視圖控制器中有幾個視圖控制器具有此行爲。到目前爲止,我的代碼註冊和註銷的代碼是:iOS:每當視圖消失時,是否需要從鍵盤事件中取消註冊導航控制器?
- (void)viewDidLoad
{
[super viewDidLoad];
[self registerForKeyboardNotifications];
}
// Call this method somewhere in your view controller setup code.
- (void)registerForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
但是如果我表示假設視圖控制器3號在我的導航控制器的鍵盤,該keyboardWasShown方法被稱爲三次。這沒有關係,或者我需要註銷每次viewWillDisappear?
好吧,這不是任何性能問題或任何?我很抱歉對iOS還是新的:-) – MichiZH
我更新了我的答案。我會讓導航控制器處理通知。在每個視圖控制器中註冊和取消註冊可能會對性能產生很小的影響......但並不像多個視圖控制器都只在其中一個視圖控制器需要時才響應通知。 – nhgrif
嗯,我其實並不真正瞭解如何在導航控制器中編寫代碼?我的意思是我知道子類和所有東西,但是你怎麼稱呼這個方法,或者你將如何編程? – MichiZH