В настоящее время у меня есть подкласс UINavigationController, который имеет следующую функцию viewDidLoad.UINavigationController Subclass navigationItem игнорирование -setLeftBarButtonItem
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"HI"
style:UIBarButtonItemStylePlain
target:self
action:@selector(manage)];
[self.navigationItem setLeftBarButtonItem:leftButton];
[self.navigationBar setBackgroundImage:[[UIImage imageNamed:@"top_nav_bg.png"] stretchableImageWithLeftCapWidth:3.0 topCapHeight:0.0] forBarMetrics:UIBarMetricsDefault];
}
Это UINavigationController подкласс одна из вкладок в подклассе UITabBarBarController со следующим viewDidLoad.
- (void)viewDidLoad
{
[super viewDidLoad];
// Change some of the look of the main tab bar
[self.tabBar setBackgroundImage:[[UIImage imageNamed:@"tab_nav_bg.png"] stretchableImageWithLeftCapWidth:2.0 topCapHeight:0.0]];
[self.tabBar setSelectionIndicatorImage:[[UIImage imageNamed:@"tab_nav_bg_active.png"] stretchableImageWithLeftCapWidth:2.0 topCapHeight:0.0]];
// Load the various view controllers for this view
SBHomeViewController *homeViewController = [[SBHomeViewController alloc] init];
[homeViewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"tab_home_active.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab_home.png"]];
[homeViewController.tabBarItem setImageInsets:UIEdgeInsetsMake(5.0, 0.0, -5.0, 0.0)];
// The navigation controller that will hold the home view
SBMainNavigationViewController *homeNavController = [[SBMainNavigationViewController alloc] initWithRootViewController:homeViewController];
self.viewControllers = @[homeNavController];
}
Все работает нормально. Загружается правильное изображение фона панели навигации из UINavigationController viewDidLoad. Тем не менее, leftBarButtontem не устанавливается вообще. И для чего это стоит, я попытался сделать его rightBarButtonItem, и это тоже не сработало.
Мысли?
Хороший звонок. Я думал, что попробовал ... В любом случае, я переместил UITabBarController в UINavigationController вместо наоборот, потому что это имело больше смысла. – joshholat