无法将自定义按钮添加到导航控制器的工具栏

时间:2013-11-14 22:08:03

标签: ios objective-c uinavigationcontroller uinavigationitem

我有一个具有导航控制器的tableview控制器。我在视图的底部添加了一个工具栏,现在我需要添加一个自定义按钮。我有以下代码(来自viewDidLoad),这会产生奇怪的结果。加载视图时,我会看到自定义按钮一小段时间,然后是一个空工具栏。目前我只想尝试加载一个自定义按钮。

self.navigationController.toolbar.barStyle = UIBarStyleBlackTranslucent;
[self.navigationController.toolbar sizeToFit];

CGFloat toolbarHeight = [self.navigationController.toolbar frame].size.height + 20;

[self.navigationController.toolbar setFrame:CGRectMake(CGRectGetMinX(self.view.bounds),
                                                       CGRectGetMaxY(self.view.bounds) - toolbarHeight,
                                                       CGRectGetWidth(self.view.bounds),
                                                       toolbarHeight)];


UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage
                        imageNamed:@"stub_fav.png"]
                        style:UIBarButtonItemStylePlain
                        target:self action:@selector(addFavorite)];

[btn setTintColor:[UIColor whiteColor]];
[btn setImage:[UIImage imageNamed:@"stub_fav.png"]];

NSArray *toolbarItems = [[NSArray alloc] initWithObjects:btn, nil];
[self.navigationController.toolbar setItems:toolbarItems];

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定btnAddFave的用途,但它不是任何东西的子视图。我假设btw和btnAddFave应该有相同的背景图像,如果是这样你拼写stub_fav.png错误。不应该是stub_fave.png