首先要实现颜色渐变我们可以使用CAGradientLayer
CAGradientLayer *gLayer = [CAGradientLayer layer];
gLayer.colors = @[(__bridge id)UIColorFromRGB(0x00bcd4).CGColor,(__bridge id)UIColorFromRGB(0x00cc99).CGColor];
gLayer.startPoint = CGPointMake(0, 0.5);
gLayer.endPoint = CGPointMake(1, 0.5);
gLayer.frame = CGRectMake(0, -20, SCREEN_WIDTH, 64);
获得到UISearchBar上的一个UIView,并加上gLayer
Snip20170516_3.png
[_searchVC.searchBar.subviews.firstObject.layer insertSublayer:gLayer atIndex:0];
显示依然不能显示出渐变颜色,查看UISearchBar内的图层可以看到有一个UIImageView,我们需要将这个UIImageView删除掉才能看到渐变色
for (UIView *sview in _searchVC.searchBar.subviews.firstObject.subviews) {
if ([sview isKindOfClass:[UIImageView class]]) {
[sview removeFromSuperview];
}
}
ok,现在渐变色就显示出来了
Snip20170516_4.png