Как включить панель вкладок и контроллер навигации в одном приложении? - PullRequest
3 голосов
/ 02 сентября 2011

Как создать контроллер панели вкладок и контроллер панели навигации в оконном приложении?Я пытаюсь включить оба контроллера.

Ответы [ 3 ]

1 голос
/ 02 сентября 2011

Вы можете сделать это следующим образом ... Создать проект типа navigationController .. затем в AppDelegate создайте tabBarController.У вас есть массив ваших Viewcontrollers следующим образом ...

mTabBar = [[UITabBarController alloc] init];
    NSMutableArray *localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:3];


    TSDetailTaskController *mTSDetailTaskController = [[TSDetailTaskController alloc]initWithNibName:@"TSDetailTaskController" bundle:nil];
    UINavigationController *mTaskNavBar=[[UINavigationController alloc]initWithRootViewController:mTSDetailTaskController];
    mTaskNavBar.tabBarItem.title=@"Task List";
    mTaskNavBar.tabBarItem.image =[UIImage imageNamed:@"glyphicons_114_list.png"];
    [mTSDetailTaskController release];

    mTSSearchController=[[TSSearchController alloc]initWithNibName:@"TSSearchController" bundle:nil];
    UINavigationController *mSearchNavBar=[[UINavigationController alloc]initWithRootViewController:mTSSearchController];
    mSearchNavBar.title=@"Search";
    mSearchNavBar.tabBarItem.image=[UIImage imageNamed:@"glyphicons_009_search.png"];
    [mTSSearchController release];

    TSSettingController *mTSSettingController = [[TSSettingController alloc]initWithNibName:@"TSSettingController" bundle:nil];
    UINavigationController *mSettingNavBar=[[UINavigationController alloc]initWithRootViewController:mTSSettingController];
    mSettingNavBar.tabBarItem.title=@"Setting";
    mSettingNavBar.tabBarItem.image=[UIImage imageNamed:@"glyphicons_280_settings.png"];
    [mTSSettingController release];


    [localViewControllersArray addObject:mTaskNavBar];  
    [localViewControllersArray addObject:mSearchNavBar];
    [localViewControllersArray addObject:mSettingNavBar];

    [mTaskNavBar release];
    [mSearchNavBar release];
    [mSettingNavBar release];


    mTabBar.viewControllers = localViewControllersArray;
    mTabBar.view.autoresizingMask==(UIViewAutoresizingFlexibleHeight);

    [localViewControllersArray release];


    [window addSubview:mTabBar.view];
    [self.window makeKeyAndVisible];
    return YES;

надеюсь, это вам поможет ...

0 голосов
/ 12 сентября 2011

Вы также можете сделать это в Интерфейсном Разработчике, просто убедитесь, что контроллер Tabbar является корневым / главным контроллером, и внутри него вы можете добавить столько navControllers, сколько вам нужно. Конечно, контроллер панели вкладок - это тот, который добавлен в окно в файле AppDelegate.m. Если вы не хотите, чтобы панель вкладок была видна с самого начала, вы можете реализовать self.tabbarcontroller.tabbar.hidden = YES; в методах viewDidLoad или viewWillAppear для каждого из представлений, для которых панель вкладок не требуется.

0 голосов
/ 02 сентября 2011

Вместо контроллеров представления, добавьте навигационные контроллеры как каждый элемент для tabbarcontroller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...