objective-c - 如何将一个 NSImageView 置于另一个 NSImageView 的前面或后面?

标签 objective-c cocoa nstableview foreground nsimageview

我有一个 NSTableView,它包含所有 NSImageView 的名称,并且根据 NSImageView 的添加顺序,最后一个将位于前面。

但是如果我希望用户能够将 NSImageViews 放在另一个 NSImageViews 前面,我该怎么做?

提前致谢。

最佳答案

正如 NSView 引用页上所解释的, View subview 的 z 顺序由 View 的 subviews 数组中的顺序给出。您可以使用 -addSubview:positioned:relativeTo: 插入相对于其他 subview 的新 subview ,并且可以通过获取 subviews 属性对现有 subview 重新排序,从而对其中的 View 重新排序根据您的喜好,然后调用 -setSubviews: 设置新顺序。

具体来说,文档说:

The order of the subviews may be considered as being back-to-front, but this does not imply invalidation and drawing behavior.

关于objective-c - 如何将一个 NSImageView 置于另一个 NSImageView 的前面或后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11111355/

相关文章:

objective-c - 无论设备方向如何,在 SplitView 中隐藏主视图 Controller

objective-c - 如何在 iOS 5 运行时上 stub /注入(inject) View Controller 以进行基于状态的测试?

swift - 如何使用 subview 在 Mac OSX 中保存 NSI​​mage?

cocoa - 第二次将观察者添加到 NSNotificationCenter 导致 EXC_BAD_ACCESS

objective-c - 异步更新 NSTableView 数据源

ios - 如何用字符串数组中的 %20 填充空字符串 ios

objective-c - 您可以将 KVO 与 Scripting Bridge 一起使用吗

objective-c - NSTableCellViews 的自动布局系统是否不同?

cocoa - 数据源非法,但一切都实现得很好

objective-c - UITableView 的 NSMutableArrays 或 NSArrays 的动态嵌套