“Unrasterize”UIView层

时间:2013-03-25 15:29:56

标签: iphone ios objective-c uiview

我创建了一个包含三个子视图(UIButtons)的UIView。

然后我将它作为子视图添加到collectionView中(如菜单)

这当然会减慢FPS的速度。 为了使它不影响滚动性能,我光栅化了UIView的图层。 这可以按预期工作,但我现在想要在动画停止时“取消”UIView图层,以便我能够再次使用这些按钮。

任何提示?提前谢谢!

修改

我试过了:

[myView setNeedsLayout];

myView.layer.shouldRasterize = NO;
[myView.layer setNeedsDisplay];

2 个答案:

答案 0 :(得分:1)

可能就像将视图的图层属性shouldRasterize设置为NO一样简单。

正如MightyLeader所指出的那样,我怀疑修复是在你尝试过的事情中证明是真的。查看不分层:

[myView setNeedsDisplay];

答案 1 :(得分:1)

不要在图层上调用setNeedsDisplay,在视图上调用它:[myView setNeedsDisplay],这会导致它重新渲染视图和图层层次结构