Ios 自定义导航栏';背景
我无法将渐变设置为UINavigationBar的背景。我创建了一个类来处理CAGradientLayer,在我将渐变设置到导航栏的层之前,这个类似乎很好。当我开始浏览堆栈,甚至返回到TopController(“设置”视图)时,按钮和标题也会消失,标题也会消失 这是我在“设置”视图上运行的代码Ios 自定义导航栏';背景,ios,objective-c,cagradientlayer,Ios,Objective C,Cagradientlayer,我无法将渐变设置为UINavigationBar的背景。我创建了一个类来处理CAGradientLayer,在我将渐变设置到导航栏的层之前,这个类似乎很好。当我开始浏览堆栈,甚至返回到TopController(“设置”视图)时,按钮和标题也会消失,标题也会消失 这是我在“设置”视图上运行的代码 也许有一种方法可以将导航项带到层的前面,或者另一种方法?我第一次遇到这个,它似乎不适合我。我很确定我错过了一个步骤或者考虑过了,提前感谢您的帮助听起来您可能多次添加渐变-您是否尝试过确保只调用一次?
也许有一种方法可以将导航项带到层的前面,或者另一种方法?我第一次遇到这个,它似乎不适合我。我很确定我错过了一个步骤或者考虑过了,提前感谢您的帮助听起来您可能多次添加渐变-您是否尝试过确保只调用一次?您编写的代码可能会多次用于特定的导航控制器。我很确定,我的意思是,我把它放在viewDidLoad@SSCHALEI上,开始时它会出现,渐变会越来越暗,一个难看的黄色,每次我回到设置视图,它会让我把它放在viewDidLoad@SSCHALEI,我是在为那个导航控制器写代码吗?是的,我也在UINavigationController中运行了该代码,但似乎失败了@PramodTapaniya@waffles在customnavigationviewcontroller.m文件中编写此代码。
- (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];
}