如何使用 CGContext 在现有 UIView 之上进行绘制?

发布于 2024-09-10 17:58:24 字数 231 浏览 6 评论 0原文

我有一个 UIView 的子类,其中我在 initWithFrame 方法中添加了一些子视图。除其他外,我还添加了背景。

我想在这些视图之上绘制一些形状(恰好覆盖整个屏幕)。但是,当我实现 drawRect: 来绘制这些形状时,它们没有显示出来。删除其他子视图后,我意识到形状是在其他子视图“下方”开始绘制的。

我怎样才能把它们画在上面?

I have a subclass of UIView in which I've added some subviews to in my initWithFrame method. I've added a background, amongst other things.

I want to draw some shapes on top of these views (which happen to cover the entire screen). But, when I implement drawRect: to draw these shapes, they didn't show up. Upon removing the other subviews, I realized that the shapes were begin drawn "under" the other subviews.

How can I draw them on top?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘落散花 2024-09-17 17:58:24

在所属视图的 drawRect: 开头调用 [super drawRect:rect]。这会将所有子视图绘制到当前上下文中。然后,您为所属视图所做的其他绘图应该位于顶部。

Call [super drawRect:rect] at the beginning of the drawRect: for the owning view. This will draw all the subviews into the current context. Additional drawing you do for the owning view should then go on top.

望喜 2024-09-17 17:58:24

也许,您应该在其他视图之上添加透明视图并在其上绘制形状?

Maybe, you should add transparent view on top of others and draw shapes on it?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文