iOS7,渐变作为背景在表格视图中滚动
Posted
技术标签:
【中文标题】iOS7,渐变作为背景在表格视图中滚动【英文标题】:iOS7, gradient as background scrolls away in table view 【发布时间】:2014-03-31 11:20:40 【问题描述】:我想应用渐变作为整个视图的背景。例如。我有一个表格视图,我希望表格视图是透明的,并且底层视图的渐变背景应该会发光。
我找到了这个资源: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];
我设法为背景添加了渐变。但是,当我滚动表格视图时,渐变也会滚动。
我应该怎么做才能防止渐变滚开?渐变应该与表格同时滚动,或者渐变应该应用于不滚动的底层视图。
任何想法如何做到这一点?
【问题讨论】:
为表超级视图添加渐变并使其透明:) @sage444 你能显示一些代码吗? 【参考方案1】:创建一个新的 UIView,其中一个图层设置为CAGradientLayer
,并将该视图分配给tableView.backgroundView
。让单元格颜色为clearColor
。
【讨论】:
【参考方案2】:代码示例,在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];
【讨论】:
内容持有者必须是财产或者您没有声明它的原因是什么? 哦,是的,这只是现场项目的一些剪辑以上是关于iOS7,渐变作为背景在表格视图中滚动的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableviewCell (ios7) 中嵌入的 UITableView 中滚动