1

我只想UITableViewController在屏幕上没有足够空间容纳所有单元格时才滚动。我正在使用设计为在 iPhone 5、6 和 6 加大尺寸屏幕中显示的静态单元格。但是,当显示在 4s 屏幕中时,底部的单元格会被切断。

理想情况下,我想使用AutoLayout将 tableview 的底部锚定到其 superview 的底部,就像我在应用程序中使用其他 tableview 一样,但是 Xcode 不允许我在UITableViewController. 我必须使用 的原因UITableViewController是因为我正在使用一个 pod 用于子类的幻灯片菜单 ( https://github.com/SocialObjects-Software/AMSlideMenu ) UITableViewController

我试图UITableView根据屏幕大小更改 's 框架的大小,因为我假设如果单元格占用的空间多于包含框架的空间,则会自动添加一个滚动条。我使用以下代码来执行此操作:

CGRect frame = self.tableView.frame;
[self.tableView setFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, [[UIScreen mainScreen] bounds].size.height - HEADER_HEIGHT)];

但是,它对表格的显示方式没有影响。

有谁知道我如何能够UITableView动态设置底部并在屏幕太小时向单元格添加滚动条?我也欢迎任何可能有助于完全避免这样做的建议,因为我宁愿不必做任何太 hacky 的事情。

4

2 回答 2

2

您可以将该alwaysBounceVertical属性设置为 false,以便仅当它大于表视图tableView时才会滚动,您可以根据需要将其限制为视图。contentSizeframe

tableView.alwaysBounceVertical = NO;
于 2015-05-18T04:56:32.247 回答
0

UITableViewController高度是通过自动计算UITableViewCell您提交的数量来确定的。您可以自定义单元格高度,以便根据需要UITableViewController自动更改高度。

于 2015-05-18T02:20:36.070 回答