当点击UITextView(MonoTouch)时如何防止UIScrollView自动滚动?

时间:2011-11-14 00:59:48

标签: ipad uiscrollview xamarin.ios

我已经实现了一些代码,这些代码会在键盘显示时自动设置UIScrollView的ContentOffset,并覆盖当前活动的控件。

例如,如果用户点击表单底部的UITextView,UIScrollView将向上滚动,以便整个控件可见。

这一切都很好用,直到用户点击另一个UITextView。此时,UIScrollView认为有必要滚动回到视图的顶部,这非常烦人。

我试过了一个明显的答案:ShouldScrollToTop。但是,这是一个有点误导性的名称,因为它仅在用户点击状态栏时适用。

如果在显示键盘后将ScrollEnabled设置为false,则用户无法滚动表单,这使得使用表单变得非常困难。

我还尝试将ContentSize设置为包括表单大小和键盘,但是没有做任何事情。

我想要做的就是阻止滚动视图在点击另一个字段时自动滚动回顶部。这真的不应该是这个困难的苹果。

2 个答案:

答案 0 :(得分:4)

当然,在我发布问题之后,我搜索了Interface Builder中的滚动视图属性,并开始关闭我认为绝对不必要的所有内容。

当我关闭Paging Enabled时,滚动视图会自动停止滚动到顶部。

我决定回答这个问题并留下问题以防其他人遇到同样的问题,因为我在其他地方找不到任何解决方案。

答案 1 :(得分:0)

我刚刚创建了一个无效的子类,试图覆盖所有内容。最后:

我使用UIWebView而不是UIScrollView,并使用CSS为其格式化HTML,看起来就像UIScrollView。这只是起作用,因为我不希望用户能够编辑它。

如果你仍然希望它可以编辑,我没有答案。