设置导航栏渐变title

重写UIViewController方法 - (void)setTitle;

- (void)setTitle:(NSString *)title{

[super setTitle:title];

UIView *titleView=[[UIView alloc] init];

titleView.size = [title sizeWithAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20]}];

self.navigationItem.titleView=titleView;


UILabel *titleL=[[UILabel alloc] init];

[titleView addSubview:titleL];

titleL.frame=titleView.bounds;

titleL.text=title;

titleL.textAlignment=NSTextAlignmentCenter;

titleL.font=[UIFont systemFontOfSize:20];


CAGradientLayer *gradientLayer=[CAGradientLayer layer];

gradientLayer.startPoint=CGPointMake(0, 0.2);

gradientLayer.endPoint=CGPointMake(0, 1);

gradientLayer.colors=@[(id)[UIColor redColor].CGColor, (id)[UIColor greenColor].CGColor];

[titleView.layer addSublayer:gradientLayer];

gradientLayer.frame=titleL.frame;

gradientLayer.mask=titleL.layer;

titleL.frame=gradientLayer.bounds;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容