假设我有一个UIView,其中包含必须为4:3的子UIView。我想在代码中使用AutoLayout解决此问题。

我一直在为AutoLayout苦苦挣扎,但还没有弄清楚如何做到这一点。

你知道如何解决这个问题吗?

非常感谢你。

我附上一张图片,以更好地解释我的意思。
http://d.pr/i/d0Oc

最佳答案

我想通了。

//Given a childView...
NSLayoutConstraint *constraint =[NSLayoutConstraint
                           constraintWithItem:childView
                           attribute:NSLayoutAttributeWidth
                           relatedBy:NSLayoutRelationEqual
                           toItem:childView
                           attribute:NSLayoutAttributeHeight
                           multiplier:4.0/3.0 //Aspect ratio: 4*height = 3*width
                           constant:0.0f];
            [childView addConstraint:constraint];

10-08 15:42