Cocoa:如何在NSImageView下正确隐藏其他视图?

问题描述 投票:0回答:1

我有一个带有几个子视图的视图(NSButton,NSTextField,NSPopUpButton)和一个带有微调器图标的NSImageView,当从网络上检索数据时,该图标应显示在其他视图的顶部。

要在顶部显示我已设置的NSImageView

imageViewSpinner.wantsLayer = true
imageViewSpinner.layer?.backgroundColor = NSColor.windowBackgroundColor.cgColor

问题是,焦点边框和PopUpButtons仍然可以通过NSImageView进行访问/闪光(请参阅随附的视频)。>>

为了解决这个问题,我可以遍历所有其他子视图,并将它们设置为“ isHidden”或“ disabled”,但是我想知道是否有更干净的解决方案,例如,将NSImageView定义为最顶层,而不会产生任何问题。通过?

video

[我有一个带有几个子视图的视图(NSButton,NSTextField,NSPopUpButton)和一个带有微调器图标的NSImageView,当从...中检索数据时,该图像应显示在其他视图的顶部]] >> [[

您可以将所有其他视图放在一个容器视图中,并将其隐藏。

您还可以使用无标签的标签视图以编程方式在视图子层次结构之间切换。 (这基本上实现了同一件事。要管理两个以上的视图会更好。)

cocoa show-hide nsimageview topmost
1个回答
0
投票
您可以将所有其他视图放在一个容器视图中,并将其隐藏。
© www.soinside.com 2019 - 2024. All rights reserved.