我想将渐变应用为整个视图的背景。例如。我有一个表视图,我希望表视图是透明的,底层视图的渐变背景应该透过。
我找到了这个资源:http://www.danielbeard.io/blog/2012/02/25/gradient-background-for-uiview-in-ios/
和
CAGradientLayer *bgLayer = [GradientBackground blueGradient];
bgLayer.frame = self.view.bounds;
[self.view.superview.layer insertSublayer:bgLayer atIndex:0];
我设法为背景添加渐变。但是,当我滚动表格视图时,渐变也会滚动。
我应该怎么做以防止渐变滚动?渐变应该与表同时滚动,或者渐变应该应用于不滚动的底层视图。
任何想法如何做到这一点?
答案 0 :(得分:1)
创建一个新的UIView,其中一个图层设置为CAGradientLayer
,并将该视图分配给tableView.backgroundView
。让单元格颜色为clearColor
。
答案 1 :(得分:1)
代码示例,在viewWillDisplay方法中添加子图层
_contentHolder = [UIView new];
[self addSubview:_contentHolder];
_tableView = [[UITableView alloc] initWithFrame:CGRectZero
style:UITableViewStylePlain];
_tableView.backgroundColor = [UIColor clearColor];
[_contentHolder addSubview:_tableView];
CAGradientLayer *bgLayer = [GradientBackground blueGradient];
bgLayer.frame = self.view.bounds;
[_contentHolder.layer insertSublayer:bgLayer atIndex:0];