gpt4 book ai didi

ios - NSLayoutRelationConstraint 到视觉格式约束

转载 作者:行者123 更新时间:2023-11-28 21:41:56 24 4
gpt4 key购买 nike

我正在尝试将关系约束转换为视觉格式。 subview 与父 View 具有相同的宽度和高度。

这是我的代码:

[parentView addConstraint:[NSLayoutConstraint
constraintWithItem:childView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0]];

[parentView addConstraint:[NSLayoutConstraint
constraintWithItem:childView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0]];

我如何将其转换为视觉格式?

最佳答案

您可以使用两种视觉格式字符串来做到这一点,一种是水平的,一种是垂直的:

NSDictionary* views = NSDictionaryOfVariableBindings(parentView, childView);
NSArray* horzConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[childView(==parentView)]" options:0 metrics:nil views:views];
NSArray* vertConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[childView(==parentView)]" options:0 metrics:nil views:views];

严格来说,这符合您显示的限制条件。它使子项具有与父项相同的大小,但不规定子项在父项中的位置。

正如 Antonis 在评论中所建议的,您可以采用不同的方法。您可以使用 H:|[childView]|V:|[childView]| 使子项的边缘与父项的边缘匹配。这不仅决定了尺寸(尽管是间接的),而且还决定了位置。

关于ios - NSLayoutRelationConstraint 到视觉格式约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31687593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com