cocoa - Cocoa:如何正确隐藏 NSImageView 下面的其他视图?
问题描述
我有一个包含几个子视图(NSButton、NSTextField、NSPopUpButton)的视图和一个带有微调器图标的 NSImageView,当从网络上检索数据时,它应该显示在其他视图的顶部。
要在我设置的顶部显示 NSImageView
imageViewSpinner.wantsLayer = true
imageViewSpinner.layer?.backgroundColor = NSColor.windowBackgroundColor.cgColor
问题是,焦点边框和 PopUpButtons 仍然可以通过 NSImageView 访问/发光(参见附加视频)。
为了解决这个问题,我可以遍历所有其他子视图并将它们设置为“isHidden”或“disabled”,但我想知道是否有更简洁的解决方案来解决这个问题,例如将 NSImageView 定义为最顶层而没有通过?
解决方案
您可以将所有其他视图放在一个容器视图中并隐藏它。
您还可以使用无选项卡选项卡视图以编程方式在视图子层次结构之间切换。(这基本上实现了同样的事情。当有两个以上的视图要管理时会更好。)
推荐阅读
- ssl - 使用 Nginx-Ingress-Controller 在 AWS 上的 EKS 中使用 gRPC
- amazon-web-services - 尝试限制对 AWS 中特定 Lambda 的访问时条件键无效
- java - 在一个实体中使用多个关系(一对一和一对多)时的异常
- sql - 增量负载
- c# - C# GearVR 数据包解密
- html - 静态 HTML 最终用户 CMS?
- python - 如何使用一个工作簿中的列,遍历另一个工作簿并将相应的数据复制到
- design-patterns - 微服务上需要事务性发件箱模式
- android - React native expo Android 模拟器未呈现 uri 图像
- git - .git/objects 比整个 git repo 大,如何解决这个问题?