gpt4 book ai didi

iOS:自动布局灵活边距

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:46 25 4
gpt4 key购买 nike

我的 UIView 中有一个 UILabel 对象。我想让这个标签在它的 super View 大小改变时分别移动。这类似于旧的 UIViewAutoresizingFlexibleTopMarginUIViewAutoresizingFlexibleRightMarginUIViewAutoresizingFlexibleBottomMarginUIViewAutoresizingFlexibleLeftMargin,因此如果父 View 高度发生变化, label top margin 会分别改变,left margin 也一样。

如何使用 Autolayout 而不是旧的 autoresizingmask 来做到这一点?

最佳答案

您可以使用 NSLayoutConstraint 的 multiplier 属性来实现这一点。您不能将边缘属性与尺寸属性混合使用,但是您可以使用底部和右侧边缘作为尺寸的代理。

UIView * parent = [[UIView alloc] init];

UILabel * label = [[UILabel alloc] init];

[parent addSubview:label];
[label setTranslatesAutoresizingMaskIntoConstraints:NO];

//Label top stays at 20% of the height of the view
NSLayoutConstraint * topMargin = [NSLayoutConstraint constraintWithItem:label
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:parent
attribute:NSLayoutAttributeBottom
multiplier:0.2f
constant:0.0f];
[parent addConstraint:topMargin];

关于iOS:自动布局灵活边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720576/

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