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

要在顶部显示NSImageView

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


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

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

cocoa -  cocoa :如何正确隐藏NSImageView下面的其他 View ?-LMLPHP

最佳答案

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

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

关于cocoa - cocoa :如何正确隐藏NSImageView下面的其他 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60309053/

10-15 15:05