如何使UITextview和UIImageView可滚动

时间:2012-04-04 16:28:00

标签: objective-c uiscrollview ios5

我在UIScrollView中放了一个UIImageView和一个UITextView。结果是当我滚动时,文本滚动但图像停留在同一个地方。

是否可以将UIImageView和UITextView作为一个整体滚动?可以使用故事板来完成吗?

1 个答案:

答案 0 :(得分:13)

您只是滚动文本的原因是UITextView有自己的UIScrollView,您只是滚动UITextViews内部滚动视图。


要实现您的目标,您需要:

  • 禁用UITextView中的滚动
  • 使UITextView足够大以涵盖所有文本
  • 使UIScrollViews contentSize足够大,以涵盖UIImageView和UITextView
  • 在UIScrollView
  • 中布局UIImageView和UITextView

禁用UITextView

中的滚动

在文本视图中将scrollingEnabled设置为false,这可以直接在故事板中完成。

调整UITextView

的大小

文本视图可以覆盖任何长度的文本,并且在不知道正在设置的文本的情况下,您无法设置正确的大小。即,当在UITextView中设置文本时,您需要在代码中设置大小。

调整contentSize的大小

见上文(如果您不知道UITextView的高度,则无法知道内容大小)。

在UIScrollView

中布局UIImageView和UITextView

然而,您可以在故事板中布局UIImageView和UITextView,并且只在设置文本时更改文本视图的bounds和scrollView的contentSize


查看层次结构

下图显示了完成后视图层次结构的外观。 scrollView 的框架为蓝色内容 红色并且大于框架。其中包括图片视图(黄色)文字视图(绿色)

enter image description here