我想在启动时在屏幕中央显示一个登录模式,但我得到一个空白背景,并且模式忽略了我的位置代码。
我有一个基于 UITableView 的 iOS 应用程序。当用户第一次打开应用程序时,我想在屏幕中央显示一个模式登录窗口。在我的主视图控制器的 viewDidLoad 中,我设置了我的 UITableViewController 使用的所有数据。然后,我使用以下内容调用我的模态窗口(出于示例目的稍作更改):
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
TenKeyPad *passwordEntry = [[[TenKeyPad alloc] initWithValues:@"" PasswordEntry:TRUE] autorelease];
passwordEntry.delegate = self;
passwordEntry.modalPresentationStyle = UIModalPresentationFormSheet;
passwordEntry.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
passwordEntry.view.superview.frame = CGRectMake(0,0,320, 460); // iphone screen is 320 x 480 (-20px that would normally be the toolbar)
passwordEntry.view.superview.center = CGPointMake(768/2, 1024/2 + 10);
[self presentViewController:passwordEntry animated:NO completion:nil];
[passwordEntry release];
}
我希望模式密码窗口出现在表格视图上,但相反,它显示在显示屏的左上角,背景为深灰色。但是,如果我稍后在应用程序中使用完全相同的代码调用此模式,它的行为将符合预期/期望。加载模式以使其显示在我的 tableView 上的正确方法或时间是什么?