我有一个有两个部分的表,每个表都有 7 个固定行,因为我正在使用故事板,所以我可以将我的表设置为静态表并静态填充它。
问题是,它使我成为一个高视图,用户需要滚动整个视图,但我需要将其更改为每个部分仅显示四行,如果用户想要滚动,请在表格区域内滚动(不是全视图)。
这是图片:
就是现在 :
但我想成为:
当用户想要选择时,只需在表格内滚动,感谢您的帮助。
我有一个有两个部分的表,每个表都有 7 个固定行,因为我正在使用故事板,所以我可以将我的表设置为静态表并静态填充它。
问题是,它使我成为一个高视图,用户需要滚动整个视图,但我需要将其更改为每个部分仅显示四行,如果用户想要滚动,请在表格区域内滚动(不是全视图)。
这是图片:
就是现在 :
但我想成为:
当用户想要选择时,只需在表格内滚动,感谢您的帮助。
不要使用您建议的双滚动视图。这令人困惑且难以使用。我强烈建议不要使用您建议的用户界面。
使表格视图动态化并使用datasource
协议。
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
// return the desired number of rows
}
如果有很多行,您可以让该部分默认返回 0 行,并在用户点击部分标题时动态插入行(为此使用自定义部分标题)。
在任何情况下,静态表格视图单元格都是不可行的。
在你的 UITableViewController 中实现这两个方法:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
if (section == tableView.numberOfSections - 1) {
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
}
return nil;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
if (section == tableView.numberOfSections - 1) {
return 1;
}
return 0;
}
事实上,这些代码是在告诉tableview,你不需要再为我渲染分隔线,这样看起来空单元格就不会显示了(实际上,空单元格也不能被选中)
或者您可以将单元格样式设置为分组。