Вам нужно подождать, чтобы представить контроллер модального вида, до следующего цикла выполнения.Я закончил тем, что использовал блок (чтобы сделать вещи более простыми), чтобы запланировать презентацию для следующего цикла выполнения:
Обновление:
Как упомянуто Марком Эмери ниже, простоdispatch_async
работает, таймер не нужен:
dispatch_async(dispatch_get_main_queue(), ^(void){
[self.container presentModalViewController:nc animated:YES];
});
/* Present next run loop. Prevents "unbalanced VC display" warnings. */
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.container presentModalViewController:nc animated:YES];
});