1

私はかなり単純なビューを構築しようとしています..私は水平ツールバー (toolbarView) とビューの全幅を実行する下のアクセント ライン (bottomAccent) を持っています。また、2 つのサイドバーと、画面の左側にあるその横に垂直方向のアクセントがあります。

サイドバーが 1 つあれば (sidebarView2 をコメントアウト)、生活は素晴​​らしく、すべてが適切に見えます。sidebarview2 を追加するとすぐに、これらの楽しいエラーが表示されます.なぜ、何が間違っているのか完全にはわかりません。私の制約は、基本的にサイドバーのスペースを半分に分割し、それぞれの半分をサイドバー ビューの 1 つで埋めることを期待しています..ここで何が欠けていますか?

Unable to simultaneously satisfy constraints:
(
    "<NSLayoutConstraint:0x7feefc3121e0 V:|-(8)-[NSTextField:0x7feefa4404e0]   (Names: '|':BGView:0x7feefa440290 )>",
    "<NSLayoutConstraint:0x7feefc312230 V:[NSTextField:0x7feefa4404e0]-(6)-[BGView:0x7feefa4408c0]>",
    "<NSLayoutConstraint:0x7feefc3122b0 V:[BGView:0x7feefa4408c0(1)]>",
    "<NSLayoutConstraint:0x7feefc312300 V:[BGView:0x7feefa4408c0]-(4)-[NSScrollView:0x7feefa440ba0]>",
    "<NSLayoutConstraint:0x7feefc312350 V:[NSScrollView:0x7feefa440ba0]-(0)-|   (Names: '|':BGView:0x7feefa440290 )>",
    "<NSLayoutConstraint:0x7feefc313250 V:[BGView:0x7feefa440290]-(0)-[BGView:0x7feefa440290]>"
)

私のコード:

- (void)loadView {
    NSView *rootView = [[NSView alloc] init];

    NSView *toolbarView = _toolbarViewController.view;
    [toolbarView setTranslatesAutoresizingMaskIntoConstraints:NO];
    [rootView addSubview:toolbarView];

    NSView *sidebarView = _titledScrollViewController.view;
    [sidebarView setTranslatesAutoresizingMaskIntoConstraints:NO];
    [rootView addSubview:sidebarView];

    NSView *sidebarView2 = _titledScrollViewController.view;
    [sidebarView2 setTranslatesAutoresizingMaskIntoConstraints:NO];
    [rootView addSubview:sidebarView2];

    BGView *horizontalSpacerSidebar = [[BGView alloc] initWithBackgroundColor:[NSColor colorWithDeviceRed:0.391 green:0.391 blue:0.43 alpha:1.0]];
    [horizontalSpacerSidebar setTranslatesAutoresizingMaskIntoConstraints:NO];
    [rootView addSubview:horizontalSpacerSidebar];

    BGView *bottomAccent = [[BGView alloc] initWithBackgroundColor:[NSColor colorWithDeviceRed:0.223 green:0.77 blue:0.93 alpha:1.0]];
    [bottomAccent setTranslatesAutoresizingMaskIntoConstraints:NO];
    [rootView addSubview:bottomAccent];

    NSDictionary *views = NSDictionaryOfVariableBindings(toolbarView, bottomAccent, sidebarView, sidebarView2, horizontalSpacerSidebar);

    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[toolbarView]|" options:0 metrics:nil views:views]];
    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[sidebarView(==200)][horizontalSpacerSidebar(==1)]" options:0 metrics:nil views:views]];
    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[sidebarView2(==200)][horizontalSpacerSidebar(==1)]" options:0 metrics:nil views:views]];
    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[bottomAccent]|" options:0 metrics:nil views:views]];
    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[toolbarView(==53)][sidebarView][sidebarView2][bottomAccent(==3)]|" options:0 metrics:nil views:views]];
    [rootView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[toolbarView(==53)][horizontalSpacerSidebar][bottomAccent(==3)]|" options:0 metrics:nil views:views]];

    self.view = rootView;
}
4

0 に答える 0