gpt4 book ai didi

ios - 设置一个简单的颜色渐变作为 UIToolbar 的背景

转载 作者:行者123 更新时间:2023-11-28 18:31:38 28 4
gpt4 key购买 nike

多亏了 Interface Builder 中的 Bart Tint 属性,我可以轻松更改 UIToolbar 的背景颜色。但是,我想使用简单的双色垂直渐变作为背景。

该解决方案应该适用于任何自定义工具栏高度,我的目标是 iOS 7+。如果必须以编程方式完成,欢迎使用 Objective-C 和 Swift。

编辑:根据我在 viewDidLoad 中执行此操作的答案,但没有效果:

var gradient = CAGradientLayer()
gradient.frame = toolbar.bounds
gradient.colors = [UIColor.redColor(), UIColor.greenColor()]
toolbar.layer.insertSublayer(gradient, atIndex: 0)

编辑 2:根据答案,我替换了以下行,但仍然没有效果:

gradient.colors = [UIColor.redColor().CGColor, UIColor.greenColor().CGColor]

编辑 3:我明白了。我必须首先在 Interface Builder 中将“Bar Tint”设置为“Default”,这样色调是透明的并且不会隐藏以编程方式添加的渐变层。

最佳答案

您可以使用 CAGradientLayer为了实现这一目标。

objective-c :

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = yourToolbar.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor], (id)[[UIColor greenColor] CGColor], nil];
[yourToolbar.layer insertSublayer:gradient atIndex:0];

swift :

var gradient:CAGradientLayer = CAGradientLayer()
gradient.frame = yourToolbar.bounds
gradient.colors = [UIColor.redColor().CGColor, UIColor.greenColor().CGColor]
yourToolbar.layer.insertSublayer(gradient, atIndex: 0)

关于ios - 设置一个简单的颜色渐变作为 UIToolbar 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28006081/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com