您可以在視圖控制器中更改導航欄的特徵。您也可以通過直接更改viewController.view來更改屏幕的外觀。在這個例子中,當用戶按下發送,你可以使用下面的代碼來改變導航欄:
UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:[NSString stringWithFormat:@"Messages:(%i)", messageCount] style:UIBarButtonStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = back;
[back release];
UIBarButtonItem *edit = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:plain target:self action:@selector(editMessage)];
self.navigationItem.rightBarButtonItem = edit;
[edit release]
然後你實現editMessage:
- (void)editMessage {
//Go into edit mode, whatever that code looks like.
}
他們後來乾脆不叫[自我。 textField resignFirstResponder],所以鍵盤保持在那裏。您會注意到,如果您加載舊對話,視圖將使用屏幕底部的發送框加載,並且不會顯示任何鍵盤。這符合UITextField對象的標準行爲。
直接攻擊視圖在UIView的幫助文件中進行了解釋,可能會有點痛苦。老實說,我不確定他們是如何繪製這個漂亮的IM界面的,我會把它留給其他專家。