iOS7中的UIToolbar颜色不正确
Posted
技术标签:
【中文标题】iOS7中的UIToolbar颜色不正确【英文标题】:UIToolbar incorrect colour in iOS7 【发布时间】:2013-09-20 00:29:01 【问题描述】:当我在视图控制器上将底部UIToolbar
设置为黑色时,它会显示为更灰的颜色(其他颜色也会发生同样的情况——它会使它们淡出)。我假设正在发生的事情是,在ios7
中,工具栏似乎适应了它下方的颜色(当前为白色),这使得颜色更暗。
我已更新视图控制器,以便关闭“扩展边缘”选项,但仍能获得此效果。有其他人遇到过这个问题吗?
更新: 我通过将 UIToolbar 的背景颜色设置为黑色解决了这个问题(在以前的 iOS 版本中我不需要这样做)。如果有人能想到更好的解决方案,请告诉我。
【问题讨论】:
如果它在界面生成器中,只需取消选中半透明属性。 【参考方案1】:iOS 7 中的所有工具栏和导航栏都有一个translucent
属性。
这会导致效果,背景以模糊的形式闪耀(就像控制中心一样)。
只需设置YourToolbar.translucent = NO;
。
【讨论】:
但是当我点击半透明属性时,它似乎只是让栏变成白色(即使它在情节提要模式下看起来不是这样)。 你设置了它的barTintColor
属性吗?
不,它是在默认设置下,但即使我更改了它似乎也没有多大帮助。我确实设法通过填充背景颜色让它看起来正确。不过,我以前从来没有调整过。【参考方案2】:
将 t*ranslucent 属性设置为 NO*:-
在 iOS 7 中您需要设置 barTintColor 属性-
UIToolbar *doneToolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 584, 320, 44)];
doneToolbar.translucent=NO;
doneToolbar.barTintColor=[UIColor blackColor];
[self.view addSubview:doneToolbar];
我用过它,它工作正常...
【讨论】:
【参考方案3】:设置背景颜色而不是条形颜色对我有用
我将 bar tint 设置为默认值,将 translucent 属性设置为 NO,将背景设置为我想要的颜色,这对我有用。
【讨论】:
我无法在界面生成器中编辑半透明属性。半透明复选框不会取消选中,色调颜色不会改变,样式不会改变。有什么想法吗?以上是关于iOS7中的UIToolbar颜色不正确的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7.1 UINavigationbar 和 UIToolbar
iOS 7 的 UIToolbar 中 UIBarButtonItems 的垂直位置不正确
如何避免 UIToolbar 的 tintColor 改变 UIButtonItem 按钮颜色?
为啥iOS7中的bottomLayoutGuide和automaticAdjustsScrollViewInsets没有考虑UIToolBar的高度(带有自动布局)