gpt4 book ai didi

ios - 如何使用 NSLayoutConstraint 将宽度固定到某些 UIView?

转载 作者:行者123 更新时间:2023-11-28 21:50:16 25 4
gpt4 key购买 nike

如何使用 NSLayoutConstraints 固定两个以上宽度相同的 UIView?

现在,我正在使用以下代码,但无法固定两个以上的 UIView:

for (int i = 0; i < column.count; i++) {
NSString *horizontalFormat = @"H:|[view1][view2(==view1)]|";
NSDictionary *views;
if (i < column.count - 1) {
views = @{
@"view1": column[i],
@"view2": column[i + 1]
};
}else{
views = @{
@"view1": column[i - 1],
@"view2": column[i]
};
}
NSArray * horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:horizontalFormat
options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom
metrics:nil
views:views];
[self.contentView addConstraints:horizontalConstraints];
}

有什么想法吗?

最佳答案

每个 NSLayoutConstraint 只能关联两个 View ,但没有什么能阻止您添加额外的约束。例如:

[NSLayoutConstraint constraintWithItem:column[i-1] attribute: NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:column[i] attribute:NSLayoutAttributeWidth multiplied:1.f constant:0.f];

[NSLayoutConstraint constraintWithItem:column[i+1] attribute: NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:column[i] attribute:NSLayoutAttributeWidth multiplied:1.f constant:0.f];

如果添加这两个约束,i-1、i 和 i+1 处的“列”现在都将具有相同的宽度。

关于ios - 如何使用 NSLayoutConstraint 将宽度固定到某些 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28593336/

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