【问题标题】:iOS navigation bar functions correctly, but is wrong coloriOS 导航栏功能正常,但颜色错误
【发布时间】:2014-02-06 05:07:48
【问题描述】:

这是我的问题:我在 UINavigationController 顶部有一个导航栏。当某些弹出窗口出现在屏幕上时,我将其设置为禁用和重新启用。一种情况不起作用:当 Dropbox 弹出窗口出现在屏幕上时,该栏会按原样禁用。但是当我关闭弹出窗口(按取消)时,导航栏会重新启用,但只要应用程序打开,它就会保持灰色,尽管它运行正常。此时它应该恢复为蓝色。当我关闭其他弹出窗口时,它会变成蓝色。只是 Dropbox 给我带来了问题。我没有看到 NavBar 的任何类型的“突出显示”属性,并且我正在正确切换 UserInteractionEnabled 属性。有什么想法吗?

【问题讨论】:

    标签: ios uinavigationbar navigationbar user-interaction


    【解决方案1】:
    // This is for iOS 7.0 or more than that.
    
       if ([self.navigationController.navigationBar respondsToSelector:@selector(setBarTintColor:)]) {
        self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
    } else {
        [self.navigationController.navigationBar setTintColor:[UIColor blueColor]];
    }
    
     //  For text alignments 
    
        [[UINavigationBar appearance] setTitleTextAttributes:
         [NSDictionary dictionaryWithObjectsAndKeys:
          [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0],
          UITextAttributeTextColor,
          [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0],
          UITextAttributeTextShadowColor,
          [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
          UITextAttributeTextShadowOffset,
          [UIFont fontWithName:@"Helvetica-Bold" size:20.0],//[UIFont fontWithName:@"DynoBold" size:20.0],
          UITextAttributeFont,
          nil]];
    

    【讨论】:

    • 这会改变整个条的色调。抱歉不清楚,但我不希望栏改变颜色,只是按钮上的文本/图标。
    • @leksah255 应用导航栏外观。编辑了我的答案,请检查。
    【解决方案2】:

    将此代码放在popover的取消操作中。

    ios7 可以用这个

    [self.navigationController.navigationBar setBarTintColor:[UIColor blueColor]];
    

    这个是ios6的

    [self.navigationController.navigationBar setTintColor:[UIColor blueColor]];
    

    谢谢

    【讨论】:

      猜你喜欢
      • 2013-05-25
      • 2015-05-14
      • 2017-01-13
      • 2017-02-17
      • 2016-05-04
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多