【发布时间】:2014-11-11 00:06:44
【问题描述】:
我正在使用 NSSplitView - 现在非常成功,但这是我的问题:
我的 SplitView 如下所示:
在这里测试项目:https://www.dropbox.com/s/amz863l11nvkdir/TestNSSplitView.zip
我已经实现了- (void)splitView:(NSSplitView *)splitView resizeSubviewsWithOldSize:(NSSize)oldSize,以便在调整大小时将左右子视图保持与以前相同的大小。
如果我打开包含 NSSplitView 的窗口,控制台中会出现此消息:
<NSSplitView: 0x107de1520>: the delegate <BRSchematicWindowController: 0x10ac11050> was sent -splitView:resizeSubviewsWithOldSize: and left the subview frames in an inconsistent state:
Split view bounds: {{0, 0}, {1068, 600}}
Subview frame: {{0, 0}, {182, 600}}
Subview frame: {{183, 0}, {640, 600}}
Subview frame: {{824, 0}, {243, 600}}
The outer edges of the subview frames are supposed to line up with the split view's bounds' edges. NSSplitView is working around the problem, perhaps at the cost of more redrawing. (This message is only logged once per NSSplitView.)
这里有什么问题?看完这条消息我还是没明白...
PS:在右侧 splitView 中还有另一个 NSSplitView 这不是失败。即使没有这个额外的 NSSplitView,我也会收到此消息。
【问题讨论】:
-
+1 用于测试项目 ;)
-
我不想这么说,因为在 99.999999 % 的情况下这是错误的,但我认为这是一个错误。即使您在没有任何内容的情况下调用该方法,它也会记录消息...
-
嗯,我不满意。如果我调查正确,那么这是我唯一可以这样做的地方。
-
当你调整窗口大小时,最左边的子视图和最右边的子视图保持相同的宽度,只有中间的子视图变宽或变窄是期望的行为吗?
-
您希望支持的最低 OS X 版本是多少? 10.6 及更高版本,还是需要 10.5 支持?
标签: objective-c xcode cocoa nssplitview