UIScrollView在addSubview或更改框架之后不需要的滚动
我有一个UIScrollView
填充子视图,创build它,并最初填充时,一切都很好。
但是,当我添加一个新的子视图的可见屏幕部分以外的位置,或者当我只调整一个现有的子视图也是可见的屏幕部分之外,有一个随后的0.3s长的滚动animation(我可以看到它发生在我的委托)似乎匹配新添加/resize的元素。
尝试:
- pagingEnabled始终为NO。
- 在子视图操作过程中将scrollEnabled设置为NO不起作用。
- 在子视图操作之后执行setContentOffset:animated:NO不会阻止animation。
- 我的所有子视图中的一个巨大的子视图并没有帮助。
我目前的解决方法是最初设置框架,以适应可见的屏幕部分,或在另一个超级视图的大小工作,但它感觉肮脏,并不会处理所有情况下…
有没有办法来防止这种自动滚动animation时,以编程方式操作子视图?
Xcode 4.3,iOS SDK for 5.1。
我也发现了这个问题,发现这个解决schemehttp://www.iphonedevsdk.com/forum/iphone-sdk-development/94288-disabling-uiscrollview-autoscroll.html
它涉及到UIScrollView
子类化,并在下面的方法中不input代码。
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated { }
就像这个人在链接上说的,我发现它到目前为止工作,没有问题。 希望对你有效。
我有这个问题,因为我在添加子视图之前设置滚动视图的内容大小。
只要我更改代码,以便在添加子视图后设置滚动视图的内容大小,问题就消失了。