我有一个UIViewController。其中包含一个UIScrollView,其中包含多个视图。底部是UITableView。

此UITableView是动态的,将显示少量或大量的行。无论哪种方式,我都希望UITableView以全尺寸显示,以便用户可以使用父UIScrollView向下滚动到其底部,而不是UITableView内部的UIScrollView。

我通过禁用UITableView的滚动尝试了此操作(此方法工作正常)。然后,我在运行时尝试扩展UITableView,以便可以正确显示所有行。

但是,这部分不起作用。由于某种原因,尽管UITableView确实很大,但并非所有行都被显示。

我已经像这样扩展了UITableView:

CGRect frame = tableView.frame;
frame.size.height = 5000;
tableView.frame = frame;

我错过了什么? UITableView内部是否有另一个视图需要扩展以显示所有行?

抱歉,如果这是一个愚蠢的问题,我上个月才使用iOS。

在此先感谢您的帮助:)

为了澄清,这是问题的屏幕截图。

红色区域是UITableView,因此绝对是正确的大小。但是,应该有10个表行。如果增加表行的大小,则只有5个,甚至更少。

我需要怎么做才能显示所有行?我需要调整什么尺寸?

最佳答案

虽然我看到您已设法使其运行,但在自己的UITableView中放置UIScrollView可能意味着表视图无法像处理其自己的滚动时一样有效地管理其内容单元格。

但是,如何添加自己的自定义视图并使它们随表格单元滚动呢?通过使它们成为UITableView的子视图。如果您将一个或两个子视图添加到UITableView,则会将它们放在其内容的上方和/或下方,并使用自己的单元格滚动它们。

下面的屏幕快照显示了在XCode接口编辑器中的外观。请注意,根视图是UITableView,它包含用于页眉和页脚的两个子视图,并且这些子视图可以包含您需要的任何子视图。

10-08 09:23
查看更多