0

我在一个使用砌体自动布局的项目中,我在动画方面遇到了一些问题,所以我要做的是有一个抽屉,它会从屏幕顶部出现,并且会出现动画,因此容器视图的内容(可以是 1 个视图或多个视图)是使用带有砖石的视图添加的,我遇到的问题是,当我调试视图时,我得到的框架始终是 Frame(0 0 ; 0 0) y 因为我需要应用动画,所以我需要框架来捕获容器视图的高度,有没有办法拥有正确的框架,或者它是处理动画和自动布局的特定方式?

4

1 回答 1

0

尝试在viewDidLayoutSubviewsforUIViewControllerlayoutSubviewsfor中捕获框架的高度UIView

要为 应用动画AutoLayout,您必须像这样重置约束:

// tell constraints they need updating
[self setNeedsUpdateConstraints];

// update constraints now so we can animate the change
[self updateConstraintsIfNeeded];

[UIView animateWithDuration:0.4 animations:^{
    [self layoutIfNeeded];
}];

并更新或重新制作updateConstraints.

另请参阅:https ://github.com/SnapKit/Masonry/blob/master/Examples/Masonry%20iOS%20Examples/MASExampleUpdateView.m

于 2015-07-10T04:47:08.167 回答