我需要向 UINavigationController 的 UIToolbar 添加按钮,这也是我的根。我希望 UIToolbar 在显示特定 UIViewController 时出现。因此,我将此代码放在 UIViewController 子类的 viewDidLoad 方法中:
UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithTitle:@"Title" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething)];
item.width = 300;
item.tintColor = [UIColor whiteColor];
UIBarButtonItem* item2 = [[UIBarButtonItem alloc] initWithTitle:@"Title2" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething)];
NSMutableArray* theItems = [self.navigationController.toolbar.items mutableCopy];
[theItems addObject:item];
[theItems addObject:item2];
[self.navigationController.toolbar setBarStyle:UIBarStyleBlackOpaque];
[self.navigationController setToolbarHidden:NO animated:YES];
[self.navigationController setToolbarItems:theItems animated:NO];
//self.navigationController.toolbarItems = theItems; // Tried both
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
label.text = @"kjhdkjhadsda";
[self.navigationController.toolbar addSubview:label];
这仅显示 UILabel 处于正确位置,不会出现其他任何内容。UILabel 对我来说没用,它只是一个测试。我还尝试分配一个新数组,而不是从组件中复制一个。忽略缺少的版本,这只是测试代码。
我阅读了很多关于此的问题,但似乎没有答案有助于使其发挥作用。知道这段代码可能有什么问题吗?