UINavigationController: представление iPad во время удаления другого контроллера выполняется на iPad
У меня есть представление, которое требует, чтобы пользователь вошел в систему. Когда пользователь пытается открыть это представление, но он не вошел в систему, я вызову для него представление входа в систему, и после того, как он это сделает, я вызову исходное представление, которое он намеревался видеть.
На iPhone это работает нормально, так как я помещаю туда контроллеры представления. Но на iPad, где я представляю контроллер просмотра, это не работает. Это говорит о том, что увольнение в процессе, можетпоказать новый контроллер Вот код:
- (void) buttonPressed
{
if (!userLoggedIn) { // userLoggedIn getter calls new screens of login if needed
return; // this is executed if user declined to login
}
MyViewController *temp = [[MyViewController alloc] init];
[self.navigationController presentViewController:temp animated:YES]; // this returns warning that dismissal in progress and does not work
}
Что я могу с этим поделать? На iPhone вся моя логика работает нормально, но на iPad это не получается. Я использую его во многих местах, и полностью переписывать код не очень хорошо.
РЕДАКТИРОВАТЬ: больше кода:
- (BOOL) userLoggedIn {
// code omitted
[centerController presentViewController:navController animated:YES completion:nil];
// code omitted
[centerController dismissViewController:navController animated:YES]; // setting to NO does not fix my problem
return YES;
}
EDIT2: это код для iPad. Я удалил код, связанный с iPhone. Что он делает на iPhone - вместо представления контроллера он использует нажатие, и в этой ситуации все работает отлично.