因此,这里的关系是我的理解:有两种的UIView和CALayer的类setNeedsDisplay
,UIView的是复合类,它包含的CALayer。但是UIView的使用drawRect:
而CALayer的使用drawLayer:inContext:
他们都使用setNeedsDisplay
调用它。这是一些协议还是什么?所以我想在UIView的实现中,CALayer被创建,并且这个图层的委托被设置为UIView类?这两个类之间的关系究竟是什么?因此,在该UIView的是drawRect:
基本上解析它的内容,并调用其层drawLayer:inContext:
?这是什么样的设计模式?我试图围绕着这两个班的工作方式,谢谢。什么的UIView和CALayer的
5
A
回答
0
这是所有苹果的实现细节,所以我不知道肯定做。另外,不同的视图类与它们的图层会有不同的关系。
例如,UIImageView
是explicitly documented到不呼叫drawRect:
。这可能是因为设置实际上是一个图像的情况下直接通过渲染方法会更新该层的contents
财产。
这就是说,我想最基本的UIView
的行为是,setNeedsDisplay
只是将呼叫转发到该层。然后,当drawLayer:inContext:
被称为上来看,它设置了UIGraphics
方面的东西,并呼吁drawRect:
。
相关问题
- 1. UIView和CALayer之间有什么区别?
- 2. CALayer和UIView的差异图
- 3. CALayer和UIView显示顺序
- 4. iPhone游戏开发时使用CALayer和UIView有什么区别?
- 5. 为什么我在UIView的则hitTest未识别的CALayer感动
- 6. 为什么CALayer的移动速度比UIView的慢?
- 7. CALayer的shouldRasterize与UIView的drawRect?
- 8. 一个关于CALayer和UIView的问题
- 9. 为什么UIView动画不会触发CALayer的addAnimation:forKey:?
- 10. 什么是CALayer等同于UIView的sizeToFit方法?
- 11. UIView setNeedsDisplay调用CALayer的setNeedsDisplay?
- 12. Masked UIView,CALayer的动画
- 13. 什么是CALayer?
- 14. 旋转UIView,包括CALayer界限和CALayer框架
- 15. 使用UIView或CALayer绘图和动画?
- 16. UIView反映CALayer属性
- 17. 在下面添加CALayer UIView
- 18. clipToBounds问题:UIView对CALayer
- 19. 可能从UIView复制CALayer?
- 20. UIView的clipsToBounds和CALayer的masksToBounds之间的关系如何?
- 21. iOS上的CALayer或UIView backgroundColor UIImage 4
- 22. Stockapp类型的交互 - UIView x CALayer
- 23. 将UIView的CALayer动画化为圆角
- 24. 设置CALayer的bounds.origin是做什么的?
- 25. 结合UIView和子视图的CALayer上的动画?
- 26. UIView和CALayer之间的匹配颜色(CGColor)
- 27. UIView cornerRadius - 什么?
- 28. 用CATransform3D旋转和翻译CALayer的正确顺序是什么
- 29. 将CALayer更改应用到UIView
- 30. 在UIView或CALayer中显示CAEAGLLayer