【问题标题】:How to remove a border from a UIButtonBarItem in an iPad navigation bar?如何从 iPad 导航栏中的 UIButtonBarItem 中删除边框?
【发布时间】:2013-01-10 23:28:52
【问题描述】:

创建标准/默认导航样式应用程序后,我试图将重新加载按钮添加到导航栏的“RootViewController”。以下工作,但是为按钮添加了一个边框,据我所知,这对于 iPad 应用程序来说是相当不标准的。

如何添加没有边框的按钮?

- (void)viewDidLoad {
    if (reloadButton == nil) {
        reloadButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:  UIBarButtonSystemItemRefresh target: nil action: nil];
        reloadButton.style =  UIBarButtonItemStylePlain;
        reloadButton.target = self;
        reloadButton.action = @selector(reloadRates);
        self.navigationItem.rightBarButtonItem = reloadButton;
    } 
    ....
}

这个应用程序最终同时针对 iPhone 和 iPad,但我现在只关心 iPad。

事实证明,将样式从UIBarButtonItemStylePlain 更改为UIBarButtonItemStyleBordered 会产生相同的边框按钮。

【问题讨论】:

    标签: iphone objective-c ipad


    【解决方案1】:

    在 XCode 4.5.2 中,只需将 Button 的 BackgroundImage 设置为空图像: (buttonSetup 是 UIBarButtonItem 的类型)

    [self.buttonSetup setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    

    【讨论】:

    • 太棒了!我一直在寻找这个很长时间。谢谢你。 :)
    • 这就是答案,就像一个魅力。谢谢。
    【解决方案2】:

    来自 iOS 人机界面指南:

    Plain 样式 - 例如,Compose 邮件工具栏中的按钮使用纯 风格。这种风格适合 仅工具栏。事实上,如果你指定 中按钮的普通样式 导航栏,它被转换为 边框样式。

    您看到的大多数 iPad 应用程序都使用顶部有 UIToolbar 的拆分视图。

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 2014-12-10
      • 2023-03-03
      • 2016-07-02
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多