Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在NSScrollview中使用自动布局_Cocoa_Autolayout_Nsscrollview - Fatal编程技术网

Cocoa 在NSScrollview中使用自动布局

Cocoa 在NSScrollview中使用自动布局,cocoa,autolayout,nsscrollview,Cocoa,Autolayout,Nsscrollview,我的应用程序包含一个主容器视图,其中三个不同的视图SUBVIEWA、subviewB和subviewC进行了交换。subviewA和subviewB都将随窗口调整大小,我的操作如下 NSView *myCurrentView = [_myCurrentViewController view]; if ([[_myCurrentViewController title] isEqualToString:subviewA] || [[_myCurrentViewContro

我的应用程序包含一个主容器视图,其中三个不同的视图SUBVIEWA、subviewB和subviewC进行了交换。subviewA和subviewB都将随窗口调整大小,我的操作如下

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)]];
谢谢