菜鸟教程小白 发表于 2022-12-12 17:29:46

iOS:自动布局灵活边距


                                            <p><p>我的 <code>UIView</code> 中有一个 <code>UILabel</code> 对象。当它的 superView 大小发生变化时,我想让这个标签分别移动。这就像旧的 <code>UIViewAutoresizingFlexibleTopMargin</code>、<code>UIViewAutoresizingFlexibleRightMargin</code>、<code>UIViewAutoresizingFlexibleBottomMargin</code> 和 <code>UIViewAutoresizingFlexibleLeftMargin</code>,这样如果 superview 的高度发生变化,标签上边距会分别改变,左边距也一样。</p>

<p>如何使用 <code>Autolayout</code> 而不是旧的 <code>autoresizingmask</code> 做到这一点?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您使用 NSLayoutConstraint 的 multiplier 属性来实现这一点。您不能将边缘属性与尺寸属性混合使用,但您<em>可以</em>使用底部和右侧边缘作为尺寸的代理。 </p>

<pre><code>UIView * parent = [ init];

UILabel * label = [ init];

;
;

//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];
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS:自动布局灵活边距,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/20720576/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/20720576/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS:自动布局灵活边距