Я создаю приложение следующим образом - при запуске приложения отображается табличное представление. Я создаю это программно. При выборе конкретной строки я делаю presentModalViewController для отображения моего класса панели вкладок, который я создал программно.
ViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
ShowOptionInTab *showTabbar = [[ShowOptionInTab alloc] initWithNibName:@"ShowOptionInTab" bundle:nil];
UINavigationController *mynavController = [[UINavigationController alloc] initWithRootViewController:showTabbar];
[self presentModalViewController:mynavController animated:YES];
[showTabbar release];
}
ShowOptionsInTab.m класс
@implementation ShowOptionInTab
-(void)loadView {
UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
contentView.backgroundColor = [UIColor whiteColor];
self.view = contentView;
[contentView release];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissTabbar:)];
self.navigationItem.rightBarButtonItem=doneButton;
UITabBarController *tabbarController = [[UITabBarController alloc] init];
tabbarController.view.frame = CGRectMake(0, 0, 320, 460);
BuyerViewController *buyerController = [[BuyerViewController alloc] init ];
buyerController.navigationItem.title=@"Buyer";
buyerController.title=@"Buyer";
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
SellerViewController *sellerController = [[SellerViewController alloc] init];
sellerController.navigationItem.title=@"Seller";
sellerController.title=@"Seller";
LenderViewController *lenderController = [[LenderViewController alloc] init];
lenderController.navigationItem.title=@"Lender";
lenderController.title=@"Lender";
tabbarController.viewControllers = [NSArray arrayWithObjects:buyerController,sellerController,lenderController, nil];
[self.view addSubview:tabbarController.view];
[sellerController release];
[buyerController release];
[lenderController release];
}
-(void)dismissTabbar:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}
Мой класс ShowOptionsInTab является подклассом UIViewController
У меня есть 3 вкладки Покупатель, Кредитор и Продавец. На каждой вкладке есть кнопки для перехода на другую страницу UIViewController. Предположим, у меня есть «ButtonA» и «ButtonB» в моем классе вкладки «Покупатель». Проблема, с которой я сталкиваюсь, заключается в том, что я не могу перемещаться по кнопкам, присутствующим на вкладках Покупателей (или любых других вкладках). Это не подталкивает к следующему классу, который должен загрузить ButtonA. Он также имеет кнопку «Готово» на панели навигации, которая закрывает модальное представление и отображает мое табличное представление.
Что я делаю не так? если я добавлю эти вкладки в объект localNavigationController, который я создаю в своем классе ShowOptionsInTab.m, я получу 2 панели навигации.