垂直滚动 UIScrollview 与 Imageview 和 textview
Vertical scrolling UIScrollview with Imageview and textview
我花了过去 2 天的时间尝试使用情节提要 UIScrollview。每当我认为我得到它时,就会出现一个新问题,现在它似乎无法解决。
这是我正在尝试做的事情(真的很简单):
我有一个 400x185 的 Imageview,占据了滚动视图的整个宽度(边到边)。这意味着滚动视图具有图像视图的宽度。
下面是一个 <= 图像视图宽度的文本视图。
我使用了Whosebug上描述的很多方法:
- 在滚动视图上使用视图并将宽度设置为与滚动视图的父级相同。
- 只使用没有视图的滚动视图
它们都在图像的帧大小、滚动视图的子视图大小、约束、文本视图不显示或图片太大方面产生了错误,即使我将约束边缘设置为边缘。
有人可以用上述 UI 制作一个示例项目吗?知道如何处理的人需要 5 分钟。
我刚刚做了这个。我知道它有效。这是我的建议:
确保您的 400x600 视图限制为宽度 400 和高度 600。
向该视图添加滚动视图。让它占据整个视图,然后固定顶部、底部、左侧和右侧。
向滚动视图添加一个 UIView。让它占据整个视图,然后固定顶部、底部、左侧和右侧。这是您的内容视图。我在文档大纲中将 my 重命名为 "ContentView"。此时,您将收到有关内容大小不明确的警告,因为在您添加更多约束之前,内容视图可以增长到任意大小。
内容视图的大小将由内容决定,因此需要对其进行完全约束。将 imageView 添加到内容视图。将其宽度限制为 400,将其高度限制为 185。将其固定到 contentView 的左侧、顶部和右侧。此时,contentView 会知道它是 400 宽,但它仍然不知道它有多高。
将 textView 添加到 contentView。将它固定在与 imageView 的固定距离处。将其限制在其 contentView 的中心。将它固定在距 contentView 底部的固定距离处。将其宽度限制为小于 400,将其高度限制为 600。
此时,您的 contentView 的大小应该已完全受限。它从 400 宽的 imageView 的宽度获取它的宽度并固定到 contentView 的两侧。它从 imageView 到顶部的恒定距离 + imageView 的高度 + imageView 和 textView 之间的恒定距离 + textView 的高度 + textView 到 contentView 底部的恒定距离得到它的高度。
如果您希望 scrollView 仅垂直滚动,则将 contentView 宽度限制为 scrollView 宽度。这很容易在文档大纲视图中完成,方法是控制从 contentView 拖动到 scrollView,然后从弹出窗口中选择 Equal Widths。
我花了过去 2 天的时间尝试使用情节提要 UIScrollview。每当我认为我得到它时,就会出现一个新问题,现在它似乎无法解决。 这是我正在尝试做的事情(真的很简单):
我有一个 400x185 的 Imageview,占据了滚动视图的整个宽度(边到边)。这意味着滚动视图具有图像视图的宽度。 下面是一个 <= 图像视图宽度的文本视图。
我使用了Whosebug上描述的很多方法: - 在滚动视图上使用视图并将宽度设置为与滚动视图的父级相同。 - 只使用没有视图的滚动视图
它们都在图像的帧大小、滚动视图的子视图大小、约束、文本视图不显示或图片太大方面产生了错误,即使我将约束边缘设置为边缘。
有人可以用上述 UI 制作一个示例项目吗?知道如何处理的人需要 5 分钟。
我刚刚做了这个。我知道它有效。这是我的建议:
确保您的 400x600 视图限制为宽度 400 和高度 600。
向该视图添加滚动视图。让它占据整个视图,然后固定顶部、底部、左侧和右侧。
向滚动视图添加一个 UIView。让它占据整个视图,然后固定顶部、底部、左侧和右侧。这是您的内容视图。我在文档大纲中将 my 重命名为 "ContentView"。此时,您将收到有关内容大小不明确的警告,因为在您添加更多约束之前,内容视图可以增长到任意大小。
内容视图的大小将由内容决定,因此需要对其进行完全约束。将 imageView 添加到内容视图。将其宽度限制为 400,将其高度限制为 185。将其固定到 contentView 的左侧、顶部和右侧。此时,contentView 会知道它是 400 宽,但它仍然不知道它有多高。
将 textView 添加到 contentView。将它固定在与 imageView 的固定距离处。将其限制在其 contentView 的中心。将它固定在距 contentView 底部的固定距离处。将其宽度限制为小于 400,将其高度限制为 600。
此时,您的 contentView 的大小应该已完全受限。它从 400 宽的 imageView 的宽度获取它的宽度并固定到 contentView 的两侧。它从 imageView 到顶部的恒定距离 + imageView 的高度 + imageView 和 textView 之间的恒定距离 + textView 的高度 + textView 到 contentView 底部的恒定距离得到它的高度。
如果您希望 scrollView 仅垂直滚动,则将 contentView 宽度限制为 scrollView 宽度。这很容易在文档大纲视图中完成,方法是控制从 contentView 拖动到 scrollView,然后从弹出窗口中选择 Equal Widths。