У меня есть контроллер представления (AddCommentViewController), который может сохранять комментарии в автономном режиме и редактировать комментарии при сохранении в автономном режиме.
Когда я загружаю AddCommentViewController в представлении, в котором я хочу добавить новый комментарий и сохранить его в автономном режиме,нет проблем:
AddCommentViewController *addView = [AddCommentViewController new];
[addView setTitle:@"New Comment"];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addView];
[navController setModalPresentationStyle:UIModalPresentationFormSheet];
[delegate.navigationController presentModalViewController:navController animated:YES];
[delegate dismissPopOver:self animated:YES];
[navController release];
[addView release];
Нет проблем, вид хорошо анимирован снизу.И когда уволен, он оживляется хорошо до дна.
Но теперь проблема.
В другом представлении я вижу список всех комментариев, сохраненных в автономном режиме.когда я загружаю AddCommentViewController, здесь происходит что-то странное.
Когда я пытаюсь представить модальное представление, оно анимируется слева, останавливается в странном месте (не по центру, а справа-снизу).и когда я отклоняю его, вид анимируется назад на левую сторону, а другой вид ориентирован на портрет.Кажется, я не могу найти проблему, и код почти идентичен:
Comment *comment = [allComments objectAtIndex:indexPath.row];
AddCommentViewController *addView = [[AddCommentViewController alloc] initWithId:comment.identifier];
[addView setTitle:@"Change comment"];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addView];
[navController setModalPresentationStyle:UIModalPresentationFormSheet];
navController.navigationBar.tintColor = [UIColor P4aPurple];
[self presentModalViewController:navController animated:YES];
[navController release];
[addView release];
Я попытался заставить представление в определенной ориентации с помощью:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
, но я получаю этоошибка:
The view controller <UISplitViewController: 0x1843d0> returned NO from -shouldAutorotateToInterfaceOrientation: for all interface orientations. It should support at least one orientation.
Если я держу устройство в портретном режиме при загрузке в автономном режиме, рекомендую его правильную работу.