У меня есть панель вкладок + приложение, основанное на навигации, и я хотел бы запустить два представления спина к спине с правой стороны навигационной кнопки основного UIViewController без слишком большого количества очевидных переходов. У меня проблемы с поиском правильного способа структурировать и содержать такую схему навигации.
Первый вид / контроллер, который мне нужно показать, это UIImagePickerController, который должен отображаться как модальный. Если вы попытаетесь вставить его в UINavigationController, вы получите исключение. Как только сборщик уволен, я хочу показать дочерний UIViewController. Когда этот дочерний контроллер будет удален, я вернусь к отображению моего основного UIViewController с вкладками.
Вот как у меня теперь это структурировано:
Tab Bar
-> (tab 1) UINavigationController -> UIViewController (main content for tab 1)
-> (tab 2) UINavigationController -> UIViewController (main content for tab 2)
MainContent1Controller:
- (void)onNavigationItemTapped {
// Launch the picker to take pictures
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
// configure picker options including:
picker.delegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Process the photo taken
// unlink this view controller as the delegate
picker.delegate = nil;
// Dismiss the UIImagePickerController
[self dismissModalViewControllerAnimated:YES];
// Create the 2nd controller and show - this doesn't work and the child controller is not visible for some reason
ChildController *child = [[ChildController alloc] initWithNibName:...];
[self presentModalViewController:child animated:YES];
[child release];
}
Есть предложения?