【问题标题】:ios7 navigationbar left UIBarButtonItem issueios7导航栏左UIBarButtonItem问题
【发布时间】:2013-10-09 07:33:46
【问题描述】:

我正在将我的大项目更新到 ios7 。当我更新左侧导航按钮时有问题。 我不明白什么是问题。

ios6:左键图片没问题:

ios7:左键有问题

当我去下一个视图控制器后退按钮在 ios7 中也有同样的问题:

我正在使用这张图片作为菜单:link。图像是透明的。

如何在 ios7 中解决这个问题。 这是一个大项目,我无法共享所有代码。当我阅读文章时,文章说它的问题是 setTintColor。对 ?

对不起我的英语。

谢谢。

【问题讨论】:

  • 您需要使用图像(如此图像)创建 UIButton 并将其添加到 UIBarButtonItem。在 ios7 UIButtons 和 barbuttons 中只显示这样,它是默认的。
  • @AdilSoomro 在我尝试之前但它不起作用。

标签: iphone ios objective-c uinavigationcontroller uinavigationbar


【解决方案1】:

我更改了全局色调,并使用这种方式来保持 UIBarButtonItem 正常。

#define kColorGlobalTint [UIColor redColor]
UIColor *defaultColor = [UIView appearanceWhenContainedIn:[UINavigationBar class], nil].tintColor;
[[UIView appearance] setTintColor:kColorGlobalTint];
[[UIView appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:defaultColor];

[[UINavigationBar appearance] setBarTintColor:kColorGlobalTint];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

【讨论】:

    【解决方案2】:

    左上角导航栏按钮中使用的图像颜色是什么?您可以尝试更改以下内容。

    1. 给条形按钮项 tint = clear color
    2. 将条形按钮项下的按钮项色调设为默认,并将其背景设为清晰颜色。
    3. 将按钮项的 Alpha 值更改为 1。

    【讨论】:

    • 我编辑了问题。你可以看到我的图片有问题。图片是透明的
    • 我也想支持ios7早期版本。它对我不起作用。我解决了。我要分享我的答案
    【解决方案3】:

    我解决了问题。我添加到 viewDidLoad 方法

     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
    {
      [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
    }
    else
    {
       [self.navigationController.navigationBar setTintColor:[UIColor colorWithRed:.694 green:.164 blue:.105 alpha:1.0f]];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多