drawRect在子视图之上

我已经subclassed UIView并添加一个drawRect方法。 然后我使用这个自定义类定义一个视图,并添加子视图。

问题是drawRect似乎在子视图下绘制东西(因此不可见)。

我想drawRect绘制的东西出现在我的自定义UIView的子视图上方。

这可能吗?

子视图将始终在其顶层的“顶层”上绘制。

根据你的具体要求,你可能需要有一个普通的UIView作为背景/容器视图,在那里你现有的子视图,然后你的自定义视图作为另一个子视图添加到最顶层,所以它具有最高的Z顺序。

例如,如果您的自定义视图是应该位于其他任何位置的网格叠加层,则这将起作用。 自定义视图必须是非透明的,背景颜色清晰。

不,子视图总是出现在它们的容器上方。 当然,没有什么能阻止你使子视图(部分)透明。

如果您想要在上面绘制,请将另一个透明子视图作为最上面的子视图放入容器中并在其中绘制。 如果您禁用了用户交互,则不会干扰您的触摸操作。

Interesting Posts