Установка пользовательского UITabBarItem программно? - PullRequest
2 голосов
/ 11 октября 2010

В iOS свойство TabBar в TabBarController доступно только для чтения. Как я могу связать пользовательский элемент с конкретным контроллером представления? Как я могу получить доступ к UITabBarItems внутри tabBar?

Как это

CustomView *custom = [[CustomView alloc] init];
UITabBarItem *customTab = [[UITabBarItem alloc] initWithTitle:@"Custom" image:[UIImage imageNamed:@"custom.png"] tag:0];
SecondView *second = [[SecondView alloc] init];
UITabBarItem *secondTab = [[UITabBarItem alloc] initWithTitle:@"Next" image:[UIImage imageNamed:@"next.png"] tag:1];
NSArray *views = [NSArray arrayWithObjects:custom,second,nil];
[tabBarController setViewControllers:views];
//how do I set the individual TabBarItems (customTab,secondTab) to be associated
//with the views in question?  tabBarController.tabBar is read only

1 Ответ

5 голосов
/ 11 октября 2010

Внутри каждого контроллера представления вы можете установить свойство tabBarItem. Если контроллер представления принадлежит UITabBarViewController, соответствующий элемент на панели вкладок будет обновлен соответствующим образом.

Примерно так

-(void)viewDidLoad {
    [super viewDidLoad];
    UITabBarItem *tbi = [[UITabBarItem alloc] initWithTitle:yourTitle image:yourIcon tag:yourTag];
    [self setTabBarItem:tbi]
    [tbi release];
}

Очевидно, вы не ограничены в выполнении этой операции в методе viewDidLoad.

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