起動時に画面の中央にログインモーダルを表示したいのですが、背景が空白になり、モーダルが位置コードを無視します。
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の上に表示されるようにモーダルをロードする適切な方法または時間は何ですか?