我已经继承了UIView
并添加了一个drawRect
方法。然后我使用此自定义类定义一个视图并添加其子视图。
问题是drawRect
似乎在子视图下面绘制东西(因此不可见)。
我希望drawRect
绘制的内容出现在自定义UIView
的子视图上方。
这种可能吗?
我已经继承了UIView
并添加了一个drawRect
方法。然后我使用此自定义类定义一个视图并添加其子视图。
问题是drawRect
似乎在子视图下面绘制东西(因此不可见)。
我希望drawRect
绘制的内容出现在自定义UIView
的子视图上方。
这种可能吗?
子视图始终会被绘制在其父视图的上方。
根据您的具体需求,您可能需要一个普通的UIView作为背景/容器视图,并将现有的子视图放入其中,然后将您的自定义视图作为另一个子视图添加到最顶层,以使其具有最高的Z顺序。
例如,如果您的自定义视图是一个网格覆盖层,应该位于所有其他视图的顶部。自定义视图必须是非不透明的,并具有清晰的背景颜色。
不,子视图总是出现在它们的容器之上。当然,你可以使子视图(部分)透明。
如果你想在其上方绘制,将另一个透明的子视图放置在容器中作为最顶层的子视图,并在其中绘制。如果你禁用了它的用户交互,它就不会干扰你的触摸处理。