【发布时间】:2014-03-10 11:56:31
【问题描述】:
由于某种原因,我不能在我的视图上使用 UINavigationBar,而是使用 UIToolBar。我正在使用带有清晰 tintColor 的虚拟左按钮和带有黑色 tintColor 的标题按钮来正确居中标题并隐藏虚拟左栏按钮,但它不再起作用,并且虚拟左按钮和标题按钮都获得主 tintColor 或者如果我禁用它们,它们变成灰色。
如何将它们理想地禁用为按钮并设置正确的 tintColor(清晰和黑色)?
- (void)addToolbar
{
CGFloat barHeight = 44.0;
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(self.view.bounds.origin.x, self.view.bounds.size.width - barHeight, self.view.bounds.size.height, barHeight)];
UIBarButtonItem *flexibleSpaceButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil];
// Done button on the right
UIBarButtonItem *doneButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
// dummy button on the left to have centered title
UIBarButtonItem *dummyButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:nil action:nil];
dummyButtonItem.enabled = NO;
dummyButtonItem.tintColor = [UIColor clearColor];
// title button
UIBarButtonItem *titleButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Title text here" style:UIBarButtonItemStylePlain target:nil action:nil];
titleButtonItem.enabled = NO;
titleButtonItem.tintColor = [UIColor blackColor];
// set toolbar items
toolbar.items = @[dummyButtonItem,flexibleSpaceButtonItem, titleButtonItem, flexibleSpaceButtonItem,doneButtonItem];
[self.view addSubview:toolbar];
}
【问题讨论】:
-
你是否尝试过覆盖
BarButtonItemClass -
不,上面的代码工作正常,突然停止工作。
-
@MartinKoles 如果它工作正常,你改变了其他东西,打破了这个
-
@elio.d 你是对的,看看我自己的回答。谢谢。
标签: ios uibarbuttonitem uitoolbar