UIBarButtonItem 在 iOS 7 的 UIToolbar 上不显示

Posted

技术标签:

【中文标题】UIBarButtonItem 在 iOS 7 的 UIToolbar 上不显示【英文标题】:UIBarButtonItem does not show on UIToolbar in iOS 7 【发布时间】:2013-11-13 19:16:53 【问题描述】:

ios 7 中,UIBarButtonItem 不会显示在我的 UIToolbar 上,它会在 tableview 底部弹出。

UIToolbar *actionToolbar;
UIBarButtonItem *actionButton;

我是这样添加的:

actionToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 524, 320, 44)];

actionButton =
                 [[[UIBarButtonItem alloc]
                 initWithTitle:@"Delete"
                 style:UIBarButtonItemStyleBordered
                 target:self
                 action:@selector(noAction:)]
                 autorelease];

[actionToolbar setItems:[NSArray arrayWithObject:actionButton]];

这里是显示 UIToolbar 的代码:

- (void)showActionToolbar:(BOOL)show

    CGRect toolbarFrame = actionToolbar.frame;
    CGRect tableViewFrame = self.tableView.frame;
    if (show)
    
        TOOLBAR_DISPLAYED = TRUE;
        toolbarFrame.origin.y = actionToolbar.superview.frame.size.height - toolbarFrame.size.height;
        tableViewFrame.size.height -= toolbarFrame.size.height;
    
    else
    
        TOOLBAR_DISPLAYED = FALSE;
        toolbarFrame.origin.y = actionToolbar.superview.frame.size.height;
        tableViewFrame.size.height += toolbarFrame.size.height;
    

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];

    actionToolbar.frame = toolbarFrame;
    self.tableView.frame = tableViewFrame;

    //I use this now in iOS7 to show the toolbar as purple otherwise it shows white
    actionToolbar.superview.backgroundColor = [UIColor colorWithRed:0.10 green:0.10 blue:0.43 alpha:0.5];

    [UIView commitAnimations];

这在以前的版本上运行良好,我不知道现在可能出现什么问题。

【问题讨论】:

在 iOS 7 中,按钮将没有边框。它将显示为文本。确保您的色调颜色已设置。也许按钮和工具栏的文本颜色相同。 感谢您的提示 - 我尝试更改所有这些小部件的色调和背景颜色,但仍然无法将其显示在工具栏上。最后切换到使用带有 UIButton 的 UIView,而不是按预期工作。 【参考方案1】:

设置色调颜色。在我的情况下,工具栏是黑色的。所以我将色调颜色设置为白色,它起作用了。

【讨论】:

以上是关于UIBarButtonItem 在 iOS 7 的 UIToolbar 上不显示的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UINavigationBar [iOS 7] 中编辑左、右 UIBarButtonItem 的空白

UIBarButtonItem在用作左侧或右侧导航栏项目时,自定义视图未在iOS 7上正确对齐

工具栏中的 UIBarButtonItem 可以在 iOS 7 中具有背景图像吗?

在 iOS 7 上带有 UIBarButtonItem 外观的 EXC_BAD_ACCESS

iOS 7 中的 UIBarButtonItem 外观问题,这可能是 Apple 的错误吗?

具有自定义视图的 UIBarButtonItem 在 iOS 7 上用作左侧或右侧导航栏项目时未正确对齐