UINavigationController があり、UINavigationBar にボタンがあります。このボタンを押すと、新しい UINavigationController が UIModalPresentationFormSheet としてモーダルに表示されます。これは機能します。
しかし、フォームシートの表示にはかなりの時間がかかることがわかりました。アクション メソッドに 2 つのログ ("start" と "finish"、以下のコードを参照) を配置しました。1 つは最初の行、もう 1 つは最後の行です。ログ時間は、このコードを実行するのに約 1.5 ~ 2 秒かかることを示しています。
これが UINavigationItem から呼び出される Action メソッドです。
- (IBAction)addBtnPressed:(id)sender{
NSLog(@"start");
FooViewController *fooContr = [[FooViewController alloc] init];
fooContr.delegate = self;
UINavigationController *navContr = [[UINavigationController alloc] initWithRootViewController:fooContr];
[fooContr release];
navContr.modalPresentationStyle = UIModalPresentationFormSheet;
[self.navigationController presentModalViewController:navContr animated:YES];
[navContr release];
NSLog(@"finish");
}
ラインのようです
[self.navigationController presentModalViewController:navContr animated:YES];
時間の 90% を占めます。
ここで何が起こっているのか、それを最適化する方法を知っている人はいますか?