根据分组表视图的高度动态设置 UIView 大小

发布于 2024-10-31 15:05:17 字数 427 浏览 0 评论 0原文

设置:我有一个 UIView,其中嵌套了一个滚动视图。在滚动视图中,我有一个标签、uiimage 和一个表格视图(分组)。 label、uiimage 和 tableveiw 由 Web 服务填充。分组表视图中的最后一部分包含的文本永远不会相同,并且可能长达 5 个字符到 250 个以上。此外,该视图是从基本表格视图推送的(因此它有一个导航栏。如果这很重要的话)。

预期:uiview 的高度应根据 tableview 延伸到的高度进行延伸。然后我将能够设置滚动视图以适应我需要能够滚动的高度。

问题:我不太确定如何解决这个问题。我真的只知道如何将高度更改为固定值,这在几乎任何情况下都无法正常工作。

我是否错误地使用了 UIScrollView?我需要调整 UIView 的大小吗?

Setup: I have a UIView with a scroll view nested within it. Within the scroll view I have a label, uiimage, and a tableview (grouped). The label, uiimage, and tableveiw are populated by a webservice. The last section in the grouped table view contains text that will never be the same and could be as long as 5 characters to 250+. Also, this view is pushed from a basic tableview (so it has a navigation bar. If that matters at all).

Expected: The uiview should extend in height depending on the height tableview extends to. Then I will be able to set the scrollview to accommodate the height I need to be able to scroll.

Problem: I'm not quite sure how to approach the issue. I really only know how to change the height to fixed values, which will not work properly in almost any scenario.

Am I using UIScrollView incorrectly? Do I need to resize the UIView at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尾戒 2024-11-07 15:05:17

您不必修改 UIView 框架大小,它必须是屏幕的大小。 UIScrollView 框架大小也必须相同,它代表其视图实际显示的部分。

必须更改的是 UIScrollView contentSize,它定义了其中数据的高度和宽度;)

您可以使用每个内部元素的高度并添加正确的边距来计算它。
因此,您可以将 UIScrollView 内容大小设置为 320 * 600,这将让您自动向下滚动。

事实上,您必须独立于最终帧大小来显示内容。如果您有 500*500 的内容,只需将其显示在 UIScrollView 中即可。然后告诉它内容的大小,如果需要,它会自动设置滚动可能性。

You don't have to modify your UIView frame size, which has to be the size of your screen. The UIScrollView frame size must also be the same, it represents the part of its view actually displayed.

What must change is the UIScrollView contentSize, which defines height and width for data inside it ;)

You can calculate it using each inside element's height and by adding the correct margin.
Thus, you could have a UIScrollView content size of 320 * 600, which will let you automatically scroll down.

In fact, you have to display your content independently of the final frame size. If you have a content of 500*500, just display it inside your UIScrollView. Then tell it the size of it's content, and it will automatically set scrolling possibilities if needed.

少女的英雄梦 2024-11-07 15:05:17

结果我必须以编程方式创建一个 UIView 并将其设置为 UITableView 的标题。现在效果很好。 :)

Turns out I had to create a UIView programmatically and set it as the header of the UITableView. It works perfectly now. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文