Cocoa 在NSScrollview中使用自动布局
我的应用程序包含一个主容器视图,其中三个不同的视图SUBVIEWA、subviewB和subviewC进行了交换。subviewA和subviewB都将随窗口调整大小,我的操作如下Cocoa 在NSScrollview中使用自动布局,cocoa,autolayout,nsscrollview,Cocoa,Autolayout,Nsscrollview,我的应用程序包含一个主容器视图,其中三个不同的视图SUBVIEWA、subviewB和subviewC进行了交换。subviewA和subviewB都将随窗口调整大小,我的操作如下 NSView *myCurrentView = [_myCurrentViewController view]; if ([[_myCurrentViewController title] isEqualToString:subviewA] || [[_myCurrentViewContro
NSView *myCurrentView = [_myCurrentViewController view];
if ([[_myCurrentViewController title] isEqualToString:subviewA] ||
[[_myCurrentViewController title] isEqualToString:subViewB]) {
[_myScrollView setHidden:YES];
[myCurrentView setTranslatesAutoresizingMaskIntoConstraints:NO];
[_mainWindowView addSubview: [_myCurrentViewController view]];
[_mainWindowView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[myCurrentView]|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(myCurrentView)]];
[_mainWindowView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|[myCurrentView]|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(myCurrentView)]];
}
这很好,但是对于subviewC,我希望子视图的水平大小,随窗口调整大小,但垂直方向使用滚动。因此,在IB中,我添加了一个NSScrollView作为mainWindowView的子视图。如果选择了subViewA或subviewB,我会隐藏滚动视图,但我不知道如何正确配置subviewC的约束。我想我可以向子视图A或子视图B添加水平约束,因为我希望视图可以随窗口调整大小,但是我不知道如何添加垂直约束以允许滚动,到目前为止,我有这个
[[_myCurrentViewController view] setTranslatesAutoresizingMaskIntoConstraints:YES];
[_myScrollView setHidden:NO];
[_myScrollView setDocumentView:[_myCurrentViewController view]];
[_myScrollView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[myCurrentView]|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(myCurrentView)]];
谢谢