自定义界面对象在选项卡之间切换后不可见

发布于 2024-12-22 21:26:09 字数 217 浏览 1 评论 0原文

我的应用程序有一个带有工具栏的首选项窗口。它的首选项选项卡是一个单独的 NSView 对象。当我在每个视图中放置标准按钮、框等时,选项卡之间的切换效果非常好,但是当我添加自定义框或视图时,自定义对象在选项卡之间切换后变得不可见。

我该如何解决这个问题?

请注意,我在每个自定义对象中使用了 drawLayer: 方法。我在 IB 中为超级视图标记了“层”复选框。

My app has a preferences window with a toolbar. Its preferences tab is a separate NSView object. When I put standard buttons, boxes, etc. in each view, switching between tabs work wonderfully, but when I add custom boxes or views, the custom objects become invisible after switching between tabs.

How do I fix this?

Notice that I use method drawLayer: in each custom object. I mark the "layer" checkbox in IB for the superview.

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

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

发布评论

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

评论(1

御弟哥哥 2024-12-29 21:26:09

您不应该在图层支持的视图上使用隐式图层来进行自定义绘图。尽管这有时有效,但不受支持。

相反,您应该创建自己的 CALayer 对象,并使用 [self.layer addSublayer:yourCustomLayer] 将其添加到视图的隐式层。然后,您可以将对象设置为图层的委托并实现drawLayer:inContext:来进行自定义绘图。

You shoudn't use the implicit layer on a layer-backed view to do custom drawing. Although this sometimes works, it is not supported.

Instead, you should create your own CALayer object and add it to the view's implicit layer using [self.layer addSublayer:yourCustomLayer]. You would then set your object as the layer's delegate and implement drawLayer:inContext: to do your custom drawing.

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