我通常使用其他UIKit组件的组合来完成所有“绘图”,添加它们并在我的视图中根据需要进行定位。相当标准的东西 - 图像在那里,标签在这里,没有太壮观。我没有太多使用drawRect,这就是为什么我的确切用法仍然有点慢。
我现在的任务是制作一个相当复杂的视图(UIView子类),它会有很多不同的事情(动画,图像,标签等),但也需要一些自定义绘制的方面(颜色填充)矩形,在绘图方面没有太复杂),这将在drawRect函数中完成。
我的问题是:如果我在drawRect函数中绘制那些自定义方面,重写UIView的默认drawRect(它实际上做了什么吗?),我的其他子视图是否仍会在我的视图中绘制?他们将采用什么顺序?子视图会在我的自定义绘图代码的顶部还是下面?
我可能只是编写一些代码并看看会发生什么,但我想更深入地了解实际发生的事情。
谢谢!
答案 0 :(得分:2)
子视图将在drawRect的基础上绘制,就像你没有drawRect并且你有子视图一样。
顺便说一下,如果你想为你写一些drawRect代码,可以试试“Opacity”程序(它会输出你可以粘贴到drawRect中的CG代码)。