Скрыть элемент управления панели вкладок в проекте панели вкладок - PullRequest
1 голос
/ 06 сентября 2010

Я работаю над проектом панели вкладок, и в этом у меня также есть контроллер навигации. и я делаю следующие шаги: - Показать главный экран навигация от первой вкладки до 5 следующих экранов. и на шестом экране я хочу показать tabbarcontroller и хочу показать мою другую панель вкладок. я попробовал следующий код: -

self.navigationController.tabBarController.hidesBottomBarWhenPushed = YES;

и некоторые другие. но пока не добился успеха. так кто-нибудь может подсказать, как мне это сделать?

Спасибо

Ответы [ 3 ]

1 голос
/ 13 апреля 2011

Создать два файла .h и .m без .xib

//.h file
#import <UIKit/UIKit.h>

@class Class1, Class2;
@interface TabbarController : UITabBarController 
{
        Class1 *class1;
    Class2 *class2;
    UINavigationController *nav1,*nav2;
}
@end

//. M file

@implementation TabbarController

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad 
{
    [super viewDidLoad];

    class1 =[[Class1 alloc] initWithNibName:@"Class1" bundle:nil];
    nav1=[[UINavigationController alloc] initWithRootViewController:class1];
    class1.title = @"class1";
    class1.tabBarItem.image = [UIImage imageNamed:@"tab1.png"];
    class1.navigationController.navigationBar.hidden = TRUE;

    class2 =[[Class2 alloc] initWithNibName:@"Class2" bundle:nil];
    nav2=[[UINavigationController alloc] initWithRootViewController:class2];
    class2.tabBarItem.image = [UIImage imageNamed:@"tab2.png"];
    class2.title = @"class2";
    class2.navigationController.navigationBar.hidden = TRUE;

    NSArray *controllers = [NSArray arrayWithObjects:nav1,nav2,nil];
    self.viewControllers = controllers;
}

Перенаправьте ваш вид на этот экран, куда вам нужно.

0 голосов
/ 13 апреля 2011

Попробуйте:

Создайте класс Object of Delegate

#import "DelegateClass.h"


DelegateClass *appDel;

Теперь в .m классе

-(void)viewDidLoad
{
  [super viewDidLoad];

  appDel= (DelegateClass *)[[UIApplication sharedApplication]delegate];

}

Теперь просто сделайте это вВид из того места, где вы находитесь,

appDel.tabBarController.hidesBottomBarWhenPushed = YES;

Это была сложная часть. Для меня это сработало:)

0 голосов
/ 13 апреля 2011

Вы должны использовать пользовательские UItabBarController. см. создание собственного контроллера TabBar

...