Ios 使用自动布局设置UIScrollView约束的动画
我想在点击按钮时,在屏幕外设置UIScrollView的动画 这就是代码:Ios 使用自动布局设置UIScrollView约束的动画,ios,iphone,objective-c,uiscrollview,Ios,Iphone,Objective C,Uiscrollview,我想在点击按钮时,在屏幕外设置UIScrollView的动画 这就是代码: [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{ [scrollViewTopViewConstraint setConstant:-eventScrollView.frame.size.height-100]; [self.view layoutIfNeede
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
[scrollViewTopViewConstraint setConstant:-eventScrollView.frame.size.height-100];
[self.view layoutIfNeeded];
}
completion:^(BOOL finished) {}];
再次点击相同按钮时,UIScrollView应在屏幕上重新设置动画:
[UIView animateWithDuration:0.3 delay:0.3 + 0.2 options:UIViewAnimationOptionCurveEaseIn animations:^{
// Standardwert einstellen
[scrollViewTopViewConstraint setConstant:0];
[self.view setNeedsDisplay];
}
问题是当ScrollView返回第二个按钮时,内容大小被重置。因此,在我设置新的contentSize之前,用户无法滚动,但如果不重新设置,效果会更好
我怎样才能做到这一点
德国致以最良好的祝愿,
Chris您可以将setConstant放在动画块之外。你为什么打电话给[self.view layoutifneed];在第一个块中,但[self.view setNeedsDisplay];在第二个街区?为什么他们两个都不需要[自视布局];?谢谢你的回答。哦,那只是测试…我只是用你的建议测试了一下,但情况是一样的。我认为是自动布局导致了这一点:/上面的代码似乎没有影响使用自动布局的UIScrollView的高度,因此您的contentSize首先不应该更改。您是否在其他地方修改UIScrollView高度?