问题:为什么有一个标题视图会阻止滚动视图被自动布局调整大小?
我正在尝试将我的自定义视图嵌入到滚动视图中,而滚动视图又包含在拆分视图中。我在 Xcode 4.5 DP 4 中使用 Interface Builder 创建了以下视图层次结构,但在 Xcode 4.4 中似乎也发生了同样的问题。
NSWindow
NSView (content view of the window)
NSSplitView
NSView (split view panel)
NSView (split view panel)
NSScrollView
TestView (my custom view)
现在,如果 TestView 提供了 NSTableHeaderView(通过 -headerView)属性,则拆分视图分隔线不能一直拖到底部(或右侧)以隐藏 TestView,而是停止到 TestView 的初始宽度或高度的边界。如果 -headerView 属性返回 nil,则可以自由拖动分隔线。
每次都可以重现这一点,只需创建一个新的 Cocoa 应用程序项目,添加视图并运行项目即可。步骤:
- 创建一个新的 Cocoa 应用程序项目
- 使用返回 NSTableHeaderView 实例的 headerView 属性创建 TestView 类。
- 编辑 MainMenu.xib 并添加拆分视图
- 添加自定义视图并使其成为 TestView
- 选择编辑器 -> 嵌入 -> 滚动视图
- 运行项目
(没有约束或其他界面生成器菜单)
测试视图.m:
@implementation TestView {
NSTableHeaderView *_header;
}
- (NSTableHeaderView *)headerView
{
if (!_header) {
_header = [[NSTableHeaderView alloc]
initWithFrame:NSMakeRect(0.0, 0.0, 100.0, 17.0)];
}
return _header;
}
@end
任何指针,我应该怎么做才能让拆分视图分隔线再次移动?