自定义NavigationBar的后台

时间:2016-02-27 09:14:30

标签: ios objective-c cagradientlayer

我无法将渐变设置为我的UINaviagtionBar的背景。我创建了一个处理CAGradientLayer的类,在我将渐变设置到导航栏的图层之前,它似乎没问题。一旦我开始通过堆栈,甚至回到顶部的开关("设置"查看),按钮和标题就会消失,标题也会逐渐消失。

At Launch of the UINaviagtionController

Going through the stack

这是我在"设置"上运行的代码。图

- (void)viewDidLoad {
[super viewDidLoad];

// Do any additional setup after loading the view.

CAGradientLayer * randomLayer = [Gradient gold];

randomLayer.frame = CGRectMake(0, -20, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height + 20);

[randomLayer setStartPoint:CGPointMake(0.0, 0.5)];
[randomLayer setEndPoint:CGPointMake(1.0, 0.5)];

[self.navigationController.navigationBar.layer insertSublayer:randomLayer atIndex:1]; 
}

也许有一种方法可以将NavigationBarItems带到图层的前面,或者是另一种方法?我第一次遇到这个Gradient Background,似乎对我不起作用。我很确定我错过了一步或者过度思考,提前感谢帮助

0 个答案:

没有答案