UITerollView里面的UIScrollView滚动问题

Gid*_*eek 7 iphone cocoa-touch objective-c uiscrollview uitextview

在我的情况下,我遇到了一些被认为是错误的事情.可能这不是一个错误,而是一个功能;).

这是我的情况:

我用我的内容加载UIScrollView.视图加载后,我的内容的一部分被加载asynchrone.这很好,没有问题.但是,其中一些控件是UITextView控件.一旦我在viewDidLoad之后设置了这些控件的内容(文本属性),我的UIScrollView就会向下滚动到最后设置的UITextView.我想阻止这一点,并希望UIScrollView保持它的顶部滚动位置.

总结:如果我在viewDidLoad方法中设置Text属性,则不会发生滚动.如果我在viewDidLoad方法之后在UITextView上设置Text属性(因为我将数据异步加载),UIScrollView将滚动到最后设置的UITextView.我想阻止这个卷轴.

我该如何实现这一目标?我有一种感觉,这只是一个设置错误的属性,但我似乎无法找到它.

提前致谢.

编辑:

我已经尝试在设置值之前将"scrollEnabled"属性设置为NO,然后设置为YES,但这没有任何效果.当设置UITextView的text属性时,ScrollView仍将滚动.

Gid*_*eek 6

我修复了解决方法的问题:

我将滚动视图内容大小设置为小的,如320 x 300或滚动视图框架的高度,然后完成我的工作,然后将内容大小恢复正常.

这可以防止在加载数据时滚动,并在加载完成后立即启用.


Tho*_*ten 5

这不会改变滚动问题,但可能会让用户"隐藏":

yourTextView.text = @"Eat more bananas!";
yourScrollView.contentOffset = CGPointMake(0.0, 0.0);
Run Code Online (Sandbox Code Playgroud)

您的代码的一些片段将有助于更具体地面对问题.

编辑: 或者尝试将UITextViews添加到UIView,然后将UIView添加到UIScrollView.确保UIScrollView的contentSize与UIView的大小相同.