如果动画,UIScrollView 滚动到不同的位置
Posted
技术标签:
【中文标题】如果动画,UIScrollView 滚动到不同的位置【英文标题】:UIScrollView scrolls to different position if animated 【发布时间】:2013-02-09 16:00:36 【问题描述】:我有一个简单但又困难的问题:
[self.scrollViewForKeyboard setContentOffset:CGPointMake(0, self.contentOffsetYBeforeEditing) animated:NO];
[self.scrollViewForKeyboard setContentOffset:CGPointMake(0, self.contentOffsetYBeforeEditing) animated:YES];
在我的应用程序的某个点有不同的效果:不动画内容偏移将滚动到预期的位置,但是使用动画标志设置更改内容偏移会使UIScrollView
向下滚动太多。如果我单击/点击混乱的UIScrollView
,它将重置到上面动画消息设置的正确位置。如果我自己使用动画块为滚动设置动画,一切正常。
确切的情况在这里很难解释,因为我显示的内容有点复杂,所以我的问题是:有没有可能,UIScrollView
的动画在某种程度上干扰了其他部分我的应用程序?一般什么情况下会导致这种行为?
【问题讨论】:
【参考方案1】:一个可能的原因是另一个动画同时或几乎同时发生,影响滚动视图的框架或 contentSize。
【讨论】:
我认为这是正确的答案,因为我确实在为滚动视图的内容设置动画,改变它是contentSize
。不过,我可以非常简单地解决问题:我只是选择了我最初问题中描述的动画块选项,现在一切正常。以上是关于如果动画,UIScrollView 滚动到不同的位置的主要内容,如果未能解决你的问题,请参考以下文章
动画时UIScrollView setContentOffset?
Swift - UIScrollView 滚动动画在 viewDidLoad() 中不起作用
IOS。当 UIScrollView 滚动时应用另一个滚动动画[关闭]