【问题标题】:Cocoa: How to properly hide other views below NSImageView?Cocoa:如何正确隐藏 NSImageView 下面的其他视图?
【发布时间】:2020-02-19 20:53:05
【问题描述】:

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

要在我设置的顶部显示 NSImageView

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

问题是,焦点边框和 PopUpButtons 仍然可以通过 NSImageView 访问/发光(参见附加视频)。

为了解决这个问题,我可以遍历所有其他子视图并将它们设置为“isHidden”或“disabled”,但我想知道是否有更简洁的解决方案来解决这个问题,例如将 NSImageView 定义为没有东西的最顶层过关了吗?

【问题讨论】:

    标签: cocoa show-hide nsimageview topmost


    【解决方案1】:

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

    您还可以使用无选项卡选项卡视图以编程方式在视图子层次结构之间切换。 (这基本上实现了同样的事情。当有两个以上的视图要管理时会更好。)

    【讨论】:

    • 是的,我想过,但我想知道这是否真的是解决这个问题的唯一方法。谢谢你的想法
    猜你喜欢
    • 1970-01-01
    • 2017-10-30
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多