问题标签 [nssplitview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - NSSplitView 状态不一致
我正在玩 NSSplitView - 现在非常成功,但这是我的问题:
我的拆分视图看起来像这样:
在这里测试项目:https ://www.dropbox.com/s/amz863l11nvkdir/TestNSSplitView.zip
我已经实现- (void)splitView:(NSSplitView *)splitView resizeSubviewsWithOldSize:(NSSize)oldSize
了在调整大小时将左右子视图保持在与以前相同的大小。
如果我打开包含 NSSplitView 的窗口,控制台中会出现此消息:
这里有什么问题?看完这条消息我还是没看懂……
PS:在右侧 splitView 中还有另一个 NSSplitView 这不是失败。即使没有这个额外的 NSSplitView,我也会收到此消息。
objective-c - NSSplitVIew - 自动保存分隔位置在启用自动布局的情况下不起作用
启用自动布局后,通过在界面构建器中为 NSSplitView 设置自动保存名称来自动保存分隔线位置会导致每个分隔线在应用重新启动时完全折叠。禁用自动布局允许自动保存完美地工作。
我也在一个新的 Xcode 项目中尝试过,结果相同。这是一个错误,还是已知的不兼容?
我该如何解决这个问题(或者如果它是一个错误,是否有解决这个问题)?
objective-c - NSSplitView - 如何在视图完成调整大小后收到通知?
我需要知道任何 NSSplitView 子视图的框架何时更改,但只有在它们完成调整大小之后。
目前我在 NSSplitView 子类中使用它:
但我遇到的问题是,当拆分视图正在调整大小或包含窗口更改其帧大小时,这会发送数百个通知。这对性能有很大的不利影响!
一旦拆分视图永久更改了框架,我该如何判断(不增加任何开销或混乱 - 如果调整大小已停止,则每隔一段时间检查一次计时器并不是我真正想要的解决方案)。
macos - 10.7 和 10.8 的 NSSplitView 问题
我在使用 AutoLayout 时遇到了一些问题。使用 Xcode 4.6.2 为 10.8 构建我设置的任何约束都不适用于 OSX 10.7。是否有任何已知问题?
谢谢!
objective-c - 如何强制 NSSplitView 的所有子视图在启动时可见?
我正在完全以编程方式制作 UI。(没有 IB)我做了一个 NSWindow,并附加了一个 NSSplitView。问题是当窗口在程序启动时出现时,拆分视图的第一个子视图总是折叠起来。
如何在启动时强制显示拆分视图的所有子视图?
cocoa - 如何使用自动布局动画 NSSplitView 折叠
我有一个设计如下的界面,在 XIB 中设置了自动布局。
目前它支持每个窗格的最大和最小宽度/高度,以及通过双击分隔线或使用 NSSegmentedControl 折叠子视图。我现在想做的是为用户切换 NSSegmentedControl 时发生的崩溃设置动画。我已经看到了许多使用 NSSplitView 设置动画以折叠子视图的示例,但没有一个使用自动布局来完成它。
我试图按照 WWDC 2012 视频中 Auto Layout Demo 中提供的动画约束演示。但由于这是我第一次启用自动布局,我还没有弄清楚如何去做。
以下是我目前拥有的
xcode - 使用带有 NSSplitView 的 Autolayout 的意外行为
我使用弹簧和支柱以及几种NSSplitViewDelegate
调整大小和约束方法实现了以下功能,它们都可以按需要工作。我现在正试图通过用适当的约束autolayout
替换所有setFrame
消息和方法来采用相同的场景。NSSplitViewDelegate
autolayout
我的主窗口的视图包含一个垂直拆分视图(我称为 OuterSplitter),其中顶部、底部、左侧和右侧的前导和尾随空间约束设置为零,以便 OuterSplitter 到其父视图。
OuterSplitter 的右窗格(除其他外)包含另一个垂直拆分视图(我称之为 InnerSplitter),该视图也将 InnerSplitter 到其superview
(即 OuterSplitter 的右窗格)的顶部、底部、左侧和右侧的前导和尾随空间约束设置为零)。
我已经为 OuterSplitter 的左窗格以及 InnerSplitter 的左窗格和右窗格设置了标称最小宽度约束。
调整主窗口大小时,所需的行为是将所有(或大部分)扩展和收缩应用于 InnerSplitter 的左窗格,除非最小宽度约束之一生效。因此,我将 OuterSplitter 左侧窗格的拆分视图保持优先级设置为 260(最高),右侧窗格设置为 250。此外,InnerSplitter 左窗格的保持优先级为 245(最低)和右窗格的 255。
我观看了 WWDC 2012 的第 232 场会议的视频,并认为我走在正确的轨道上。我的autolayout
约束大部分都按预期工作,但是我的 springs 和 struts 版本没有发生一种非常奇怪的行为。
如果 InnerSplitter 的拆分栏尽可能靠右(InnerSplitter 右窗格处于其最小尺寸)并且 OuterSplitter 拆分栏没有尽可能靠左,那么如果您尝试将 InnerSplitter 的拆分栏拖得更远向右,然后 OuterSplitter 的拆分栏意外地向左移动,导致 InnerSplitter 的左窗格增大,而 OuterSplitter 的左窗格缩小。我的期望是在这种情况下不应该调整大小。
拉动固定在右侧的 InnerSplitter 的拆分条时,是否可以阻止 OuterSplitter 的拆分条移动?如果是这样,应该添加什么约束?还是某些NSSplitViewDelegate
方法仍然需要?谢谢。
顺便说一句,我正在使用 Xcode 4.6.3 并针对 OSX 10.8。
macos - 使用 mail.app 等三个子视图配置 NSSplitView
是否可以通过像 mail.app 中的自动布局约束来配置具有 3 个子视图的拆分视图?我的意思是:当用户调整窗口大小时,只有最右边的子视图会改变它的大小,当用户拖动最左边和中间子视图之间的分隔线时,只有左右子视图会改变它的大小,当用户拖动中间和中间的分隔线时右子视图只有这些子视图改变大小。如果有可能怎么办。我认为这项任务可能由约束优先级执行,但我对此感到困惑。谢谢!
xcode - NSSplitView 使用自动布局仅在窗口调整大小时扩展一个面板?
是否可以仅使用 Xcode 提供的自动布局选项来实现以下目标?例如,通过更改拥抱或压缩设置。
实现这种调整大小行为的推荐方法是什么?