1

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

是否可以使 UIImageView 和 UITextView 整体滚动?这可以使用情节提要完成吗?

4

1 回答 1

13

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


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

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

在 UITextView 中禁用滚动

在您的文本视图上设置scrollingEnabled为 false,这可以直接在情节提要中完成。

调整 UITextView 的大小

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

调整内容大小

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

在 UIScrollView 中布局 UIImageView 和 UITextView

但是,您可以在情节提要中布局 UIImageView 和 UITextView ,并且仅在设置文本时更改bounds文本视图和滚动视图的contentSize


查看层次结构

下图显示了完成后视图层次结构的外观。scrollView的框架是蓝色的。它的内容红色的并且比框架大。其中包含图像视图(黄色)文本视图(绿色)

在此处输入图像描述

于 2012-04-04T16:35:19.923 回答