Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Objective c 单个字符串中的编程NSLayoutConstraints_Objective C_Nslayoutconstraint - Fatal编程技术网

Objective c 单个字符串中的编程NSLayoutConstraints

Objective c 单个字符串中的编程NSLayoutConstraints,objective-c,nslayoutconstraint,Objective C,Nslayoutconstraint,有没有一种方法可以将下面3行语法组合成一个单独的语句,如(不起作用): 据我所知,没有。据我所知,没有。没有,但你可以用两行代码来完成: [_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[cardContainer1]|" options:0 metrics:nil views:viewsDictionary]]; 这会将卡容器1固定到superview的顶部和底部。然后:

有没有一种方法可以将下面3行语法组合成一个单独的语句,如(不起作用):


据我所知,没有。

据我所知,没有。

没有,但你可以用两行代码来完成:

[_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[cardContainer1]|" options:0 metrics:nil views:viewsDictionary]];
这会将卡容器1固定到superview的顶部和底部。然后:

[_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[cardContainer1][cardContainer2][cardContainer3]|"  options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom metrics:nil views:viewsDictionary]];
将剩余卡片容器的顶部和底部对齐

这假设您希望视图彼此相邻,但实际上没有指定任何水平布局细节


当使用视觉格式时,它有助于考虑视觉格式语言的每一行在视图中表示一行或一列布局

没有,但可以分两行进行:

[_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[cardContainer1]|" options:0 metrics:nil views:viewsDictionary]];
这会将卡容器1固定到superview的顶部和底部。然后:

[_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[cardContainer1][cardContainer2][cardContainer3]|"  options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom metrics:nil views:viewsDictionary]];
将剩余卡片容器的顶部和底部对齐

这假设您希望视图彼此相邻,但实际上没有指定任何水平布局细节


当使用视觉格式时,它有助于考虑视觉格式语言的每一行在视图中表示一行或一列布局

这实际上不是一行,但您可以通过循环执行这三行来减少重复:

for (NSView *view in @[cardContainer1, cardContainer2, cardContainer3]) {
    [_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view)]];
}

这实际上不是一行,但您可以通过在一个循环中执行这三行来减少重复:

for (NSView *view in @[cardContainer1, cardContainer2, cardContainer3]) {
    [_cardsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view)]];
}

真倒霉我会等上一天左右,看看是否有人偶然扔了什么东西,如果没有,我会接受的。糟糕。我会等上一天左右,看看是否有人偶然扔了什么东西,如果没有,我会接受。所有的答案都很好,而且很快!谢谢大家。所有的答案都很好,而且很快!谢谢各位。