自定义界面对象在选项卡之间切换后不可见
我的应用程序有一个带有工具栏的首选项窗口。它的首选项选项卡是一个单独的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不应该在图层支持的视图上使用隐式图层来进行自定义绘图。尽管这有时有效,但不受支持。
相反,您应该创建自己的
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 implementdrawLayer:inContext:
to do your custom drawing.