У меня есть UINavigationController и на UINavigationBar у меня есть кнопка. Когда я нажимаю эту кнопку, новый UINavigationController представляется в виде UIModalPresentationFormSheet. Это работает.presentModalViewController занимает много времени
Но я узнал, что презентация FormSheet довольно трудоемка. Я поместил два журнала в метод действия («start» и «finish», см. Код ниже), один в первом и один в последней строке. Время регистрации говорит мне, что для запуска этого кода требуется около 1,5-2 секунд.
То метод действий вызывается из UINavigationItem:
- (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% времени.
Кто-нибудь знает, что происходит здесь и как его оптимизировать?
Что содержит navContrManAufn? Вероятно, это что-то там, которое потребляет время (вызов db?) – Panagiotis