swift-更改顶部UIToolbar边框的颜色
我正在尝试更改UIToolbar上上边框的颜色 我试过:swift-更改顶部UIToolbar边框的颜色,swift,uitoolbar,Swift,Uitoolbar,我正在尝试更改UIToolbar上上边框的颜色 我试过: layer.borderWidth = 1 layer.borderColor = UIColor(r: 250, g: 250, b: 250).CGColor 那没用 建议?谢谢UIColor在0和1之间工作,例如: layer.borderWidth = 1 layer.borderColor = UIColor(r: 250/255, g: 250/255, b: 250/255).CGColor 如果您想要250作为红色值,
layer.borderWidth = 1
layer.borderColor = UIColor(r: 250, g: 250, b: 250).CGColor
那没用
建议?谢谢UIColor在0和1之间工作,例如:
layer.borderWidth = 1
layer.borderColor = UIColor(r: 250/255, g: 250/255, b: 250/255).CGColor
如果您想要250作为红色值,则需要执行250/255。我也遇到了同样的问题,发现只要在值后面加上/255,颜色就可以正常工作
/255在适当的范围内创建值。你也可以做除法,然后输入十进制近似值
如果你需要更多的帮助或澄清,请告诉我。如果你不喜欢它的颜色,并且因为不可能改变它,最快的破解方法就是去掉它的发际线-它实际上不是一个边界,它是一个阴影
toolbar.clipsToBounds = true
或:
或者您可以更改其阴影图像:
UITabbar.appearance().shadowImage = UIImage.colorForNavBar(.red)
您需要将RGB颜色除以255.0,以获得0:1的颜色 例如:
layer.borderWidth = 1
layer.borderColor = UIColor(r: 250/255, g: 250/255, b: 250/255).CGColor
我使用以下代码完成了此操作:
class ViewController: UIViewController {
@IBOutlet weak var toolBar: UIToolbar!
override func viewDidLoad() {
super.viewDidLoad()
// the layer with the width of the device
// and height of 0.5 px
let topBorder = CALayer()
topBorder.frame = CGRectMake(0, 0, view.frame.size.width, 0.5)
topBorder.backgroundColor = UIColor.redColor().CGColor
// adding the layer to the top
// of the toolBar
toolBar.layer.addSublayer(topBorder)
}
}
结果:
来源:您可以使用:
- (void)setToolbarLineWith:(UIColor *)color
{
for(UIView *v in self.navigationController.toolbar.subviews){
if([NSStringFromClass([v class]) isEqualToString:@"_UIBarBackground"])
{
for(UIView *w in v.subviews){
if([NSStringFromClass([w class]) isEqualToString:@"UIImageView"])
{
[w setBackgroundColor:color];
}
}
}
}
}
并与以下内容一起运行:
[self setToolbarLineWith:[UIColor redColor]];
这实际上是一个阴影图像,所以只需创建一些带有必要颜色的1像素图像并使用
[toolbar setShadowImage:<your image> forToolbarPosition:UIBarPositionAny];
[工具栏设置ShadowImage:forToolbarPosition:UIBarPositionAny];
我有一个扩展可以为我做这件事。对不起,我应该澄清一下。谢谢你抽出时间!这是个玩笑吗?当然,我把它添加到了视图中,我的问题不是看不到工具栏,而是让上边框变成一种特定的颜色。这段代码无法编译@佩德罗:沃克,你能说清楚点吗?代码只是一个例子,因为我可能不太理解你的问题。无论如何,它是用Swift 3编写的。工具栏控件的顶部有一个边框。这是一条有点粗的灰线。我想修改工具栏顶部的边框,使其成为我想要的颜色。谢谢,有没有办法不在顶部添加一个1像素宽的视图和我想要的颜色?可以循环UITabbar/UIToolbar的子视图-但是如果使用这种方式,在循环中传递视图时,您也可以更改该颜色。您下面的人建议这样做,我提到我有一个UIColor的扩展,这就是为什么我不分割,因为扩展为我。非常感谢。