因此,我想摆脱代码中的所有“框架”,完全切换到autolayout。但有一种情况是,我希望视图的Y位置依赖于content offset (bounds.origin.y)的UIScrollView。使用auto layout做这件事的正确方法是什么?一种方法是在每次更改NSLayoutConstraint时更新scrollview content offset的常量(但是在这里使用自动布局有什么意义呢?)因此,我希望有更好的方法来实现“纯”autolayout。
我知道这里经常讨论"Autolayout &UIScrollView“,所以我想强调的是,我不想对UIScrollView子视图使用自动布局,我有一个带有两个子视图的UIView;一个UIScrollView和一个UIView对象,我想使用自动布局来指定UIView顶坐标和UIScrollView内容偏移量之间的关系。
发布于 2014-01-27 12:52:43
好的,你可以很容易地做到这一点。本质上就像你用画框做的一样。
首先,您需要创建“变量”约束,并将其保存到属性中。
你可以用密码..。
self.heightConstraint = [NSLayoutConstraint constraintWithItem:self.theView
attribute:
relatedBy:
toItem:
attribute:
multiplier:
constant:];
// set up the rest
[self.view addConstraint:self.heightConstraint];或者在Interface中创建约束,然后将ctrl拖到属性中。(和其他任何IBOutlet一样)。
然后当scrollView卷轴..。
self.heightConstraint.constant = calculatedValueFromTheOffset;
[self.view layoutIfNeeded];这将移动视图,就像您使用了框架,但是使用了自动布局约束。
https://stackoverflow.com/questions/21381159
复制相似问题