如果模態(tài)ViewController演示文稿樣式為UIModalPresentationFormSheet,則iPad鍵盤不會(huì)被忽略注意:從iOS 4.3開始,請參閱已接受的答案(不是最受歡迎的答案)。這個(gè)問題是關(guān)于在iPad鍵盤中發(fā)現(xiàn)的行為,如果在帶有導(dǎo)航控制器的模態(tài)對話框中顯示,它將拒絕被解雇?;旧希绻沂褂靡韵滦酗@示導(dǎo)航控制器,如下所示:navigationController.modalPresentationStyle = UIModalPresentationFormSheet;鍵盤拒絕被解雇。如果我注釋掉這一行,鍵盤就會(huì)消失。...我有兩個(gè)textFields,用戶名和密碼; username有一個(gè)Next按鈕,密碼有一個(gè)Done按鈕。如果我在模態(tài)導(dǎo)航控制器中顯示它,鍵盤將不會(huì)消失。作品broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];[self.view addSubview:b.view];什么都不行broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];UINavigationController *navigationController = [[UINavigationController alloc]
initWithRootViewController:b];navigationController.modalPresentationStyle = UIModalPresentationFormSheet;navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;[self presentModalViewController:navigationController animated:YES];[navigationController release];[b release];如果我刪除導(dǎo)航控制器部件并將“b”作為模態(tài)視圖控制器單獨(dú)顯示,則可以正常工作。導(dǎo)航控制器是問題嗎?作品broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;[self presentModalViewController:b animated:YES];[b release];作品broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];[self presentModalViewController:navigationController animated:YES];[navigationController release];[b release];
3 回答

滄海一幻覺
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
在以模態(tài)方式呈現(xiàn)的視圖控制器中,只需覆蓋disablesAutomaticKeyboardDismissal
以返回NO
:
- (BOOL)disablesAutomaticKeyboardDismissal { return NO;}

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果要顯示帶有的模態(tài),請小心UINavigationController
。然后,您必須disablesAutomaticKeyboardDismissal
在導(dǎo)航控制器上設(shè)置,而不是在視圖控制器上。您可以使用類別輕松完成此操作。
文件:UINavigationController + KeyboardDismiss.h
#import <Foundation/Foundation.h>@interface UINavigationController (KeyboardDismiss)- (BOOL)disablesAutomaticKeyboardDismissal;@end
文件:UINavigationController + KeyboardDismiss.m
#import "UINavigationController+KeyboardDismiss.h"@implementation UINavigationController(KeyboardDismiss)- (BOOL)disablesAutomaticKeyboardDismissal{ return NO;}@end
不要忘記在使用UINavigationController的文件中導(dǎo)入類別。
- 3 回答
- 0 關(guān)注
- 650 瀏覽
添加回答
舉報(bào)
0/150
提交
取消