将drawRect与其他UIView结合使用

3
我通常使用其他UIKit组件的组合来完成我的“绘图”,根据需要在我的视图中添加和定位它们。这很标准 - 在这里放置图像,那里放置标签,没有太多惊人之处。我不经常使用drawRect,这就是为什么我对它的确切用法还有点慢的原因。
现在,我被要求制作一个相当复杂的视图(UIView子类),其中将有很多不同的事情发生(动画、图像、标签等),但也需要一些自定义绘制方面(填充颜色的矩形,在绘制方面并不太复杂),这将在drawRect函数中完成。
我的问题是:如果我在drawRect函数中绘制这些自定义方面,覆盖UIView的默认drawRect(它实际上做了什么?),我的其他子视图仍然会在我的视图中绘制吗?它们将按什么顺序绘制?子视图会在我的自定义绘图代码上面还是下面?
我可能只需编写一些代码并查看会发生什么,但我想更详细地了解实际发生的情况。
谢谢!
1个回答

3

子视图会在drawRect绘制的内容上方绘制,就像您没有绘制drawRect而有子视图一样。

顺便说一句,如果您想要一些东西为您编写drawRect代码(它将导出您可以粘贴到drawRect中的CG代码),请尝试“Opacity”程序。


非常酷,以前从未听说过。看起来对于任何类型的高级绘图都非常有用。所以基本上我可以像“背景”一样使用drawRect,我的任何子视图都会直接放在顶部。完美。 - Cory Imdieke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接