Я относительно плохо знаком с задачей c, но не программирую, и застрял в своем приложении для iphone.
Я создал приложение на основе навигации с панелью навигации и контроллером панели вкладок. Я установил панель вкладок в качестве корневого контроллера. Я могу переключаться между каждой вкладкой без каких-либо проблем с различными UIViews и UITableViews.
Моя проблема в том, что в одном из моих UITableView, которые я вызываю из TabBarController, функция didSelectRowAtIndexPath должна отображать новый UIView. Приведенный ниже код не выдает никаких ошибок и работает нормально, но не показывает новый Nib.
if(newViewController == nil) {
NSLog(@"yes nil");
BookViewController *aNewViewController = [[BookViewController alloc] initWithNibName:@"BookOptionView" bundle:nil];
self.newViewController = aNewViewController;
[aNewViewController release];
}
BookAppDelegate *delegate = (BookAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.appNavBar pushViewController:newViewController animated:YES];
Теперь, когда я делаю ниже, он работает нормально, но он избавляется от навигации и вкладки, которые я предполагаю, потому что это модальный вызов вместо нажатия контроллера представления.
BookViewController *screen = [[BookViewController alloc] initWithNibName:@"BookOptionView" bundle:[NSBundle mainBundle]];
screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:screen animated:YES];
[screen release];
Есть идеи, почему я не могу заставить View Controller выдвигаться правильно? В моем файле делегата приложения я объявил объект AppNavBarController (унаследованный от UINavigationController) с именем appNavBar.
Буду признателен за любую помощь!