您好,匿名用户
随意问技术百科期待您的加入

clipbounds 为YES的时候,Scroll view的性能非常差

0 投票

如果我们在一个scrollview里面添加了一个cell,并且设置了layer为圆角,clipbounds为yes。这个时候我是在滚动scrollview的时候,就会非常卡。请问有什么提升性能的办法。我需要的是一个类似mask的功能,因为这个cell里面可能会有很多层子view。自己来重写drawRect,并且设置clip path会不会好一些?

用户头像 提问 2012年 12月1日 @ Heimerdinger 上等兵 (311 威望)
分享到:

1个回答

0 投票

clipbounds为yes不是影响性能的原因,原因是layer为圆角。不信你把圆角去了试试。同样的问题还出现在直接用layer加阴影上。

一般情况下(有视觉给你做切图或者你自己会切的时候)制作圆角控件应当使用和背景色吻合的圆角图案做遮罩。

maskImage为圆角遮罩,单通道灰阶图,可以在ps里做好。

    CGImageRef maskImageRef = maskImage.CGImage; 
    CALayer *maskLayer = [CALayer layer];
    maskLayer.contents = (__bridge id)maskImageRef;
    imageView.layer.mask = maskLayer;
用户头像 回复 2012年 12月1日 @ Taurus 上等兵 (303 威望)
提一个问题:

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...