// add a layer that overlays the cell adding a subtle gradIEnt effect CAGradIEntLayer* gradIEntLayer = [CAGradIEntLayer layer]; NSLog(@"%@",NsstringFromCGRect(cell.bounds)); gradIEntLayer.frame = cell.bounds; gradIEntLayer.colors = @[(ID)[[UIcolor colorWithWhite:1.0f Alpha:0.2f] CGcolor],(ID)[[UIcolor colorWithWhite:1.0f Alpha:0.1f] CGcolor],(ID)[[UIcolor clearcolor] CGcolor],(ID)[[UIcolor colorWithWhite:0.0f Alpha:0.1f] CGcolor]]; gradIEntLayer.locations = @[@0.00f,@0.01f,@0.95f,@1.00f]; [cell.layer insertSublayer:gradIEntLayer atIndex:0];
代码运行后,我可以看到CAGradIEntLayer已添加到我的cell.layer中.但是当我在iOS 7模拟器上运行应用程序时,我根本看不到它.
<CALayer:0xaca1980; sublayers = (<CAGradIEntLayer: 0xaad2110>,<CALayer: 0xaca2a70>);
该代码适用于iOS 6,没有任何问题.
如果CAGradIEntLayer不再适用于iOS 7,我该怎么做才能将渐变添加到我的表格单元格中?
提前致谢.
解决方法 我通过将单元格背景颜色设置为清除来修复此问题.在这种情况下,您可以将索引维持为0,因此将显示元素,并且也会显示渐变.
cell.backgroundcolor = [UIcolor clearcolor];[cell.layer insertSublayer:gradIEntLayer atIndex:0];总结
以上是内存溢出为你收集整理的CAGradientLayer无法在iOS 7上运行(但在iOS 6上运行)全部内容,希望文章能够帮你解决CAGradientLayer无法在iOS 7上运行(但在iOS 6上运行)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)