在 UITableViewController 中启用滚动
Enable scrolling in UITableViewController
我想让我的 UITableViewController
仅在屏幕上没有足够的空间容纳其所有单元格时滚动。我使用的静态单元格旨在显示在 iPhone 5、6 和 6 加大屏幕中。但是,当显示在 4s 屏幕中时,底部单元格会被截断。
理想情况下,我想使用 AutoLayout
将 table 视图的底部锚定到其父视图的底部,就像我在我的应用程序中使用其他 table 视图一样,但是Xcode 不允许我在 UITableViewController
中向 UITableView 添加约束。我必须使用 UITableViewController
的原因是因为我正在使用 pod 作为滑动菜单 (https://github.com/SocialObjects-Software/AMSlideMenu) 的子类 UITableViewController
。
我曾尝试根据屏幕尺寸更改 UITableView
框架的大小,因为我假设如果单元格占用的空间多于包含框架,则会自动添加滚动条。我使用了以下代码来做到这一点:
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)];
但是,它对 table 的显示方式没有影响。
有谁知道我如何能够动态设置 UITableView
的底部并在屏幕太小时向单元格添加滚动条?我也欢迎任何可能有助于避免必须这样做的建议,因为我宁愿不必做任何太 hacky 的事情。
UITableViewController
身高是通过自动计算您出示的 UITableViewCell
个数来确定的。您可以自定义单元格高度,以便 UITableViewController
的高度将根据您的需要自动更改。
您可以将 alwaysBounceVertical
属性 设置为 false,这样 tableView
只会在其 contentSize
大于 table 视图的 frame
您可以根据自己的喜好限制视图。
tableView.alwaysBounceVertical = NO;
我想让我的 UITableViewController
仅在屏幕上没有足够的空间容纳其所有单元格时滚动。我使用的静态单元格旨在显示在 iPhone 5、6 和 6 加大屏幕中。但是,当显示在 4s 屏幕中时,底部单元格会被截断。
理想情况下,我想使用 AutoLayout
将 table 视图的底部锚定到其父视图的底部,就像我在我的应用程序中使用其他 table 视图一样,但是Xcode 不允许我在 UITableViewController
中向 UITableView 添加约束。我必须使用 UITableViewController
的原因是因为我正在使用 pod 作为滑动菜单 (https://github.com/SocialObjects-Software/AMSlideMenu) 的子类 UITableViewController
。
我曾尝试根据屏幕尺寸更改 UITableView
框架的大小,因为我假设如果单元格占用的空间多于包含框架,则会自动添加滚动条。我使用了以下代码来做到这一点:
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)];
但是,它对 table 的显示方式没有影响。
有谁知道我如何能够动态设置 UITableView
的底部并在屏幕太小时向单元格添加滚动条?我也欢迎任何可能有助于避免必须这样做的建议,因为我宁愿不必做任何太 hacky 的事情。
UITableViewController
身高是通过自动计算您出示的 UITableViewCell
个数来确定的。您可以自定义单元格高度,以便 UITableViewController
的高度将根据您的需要自动更改。
您可以将 alwaysBounceVertical
属性 设置为 false,这样 tableView
只会在其 contentSize
大于 table 视图的 frame
您可以根据自己的喜好限制视图。
tableView.alwaysBounceVertical = NO;