我在UITableView
中有多个UIScrollView
。表的大小取决于它具有的行数。表格按照一个在另一个下面的顺序排列。
Table 1
Table 2
Table 3
现在让我们说表1结束于' x '的位置,我希望表2移动到位置' x '并且表3的位置相同移动表2结束的位置。最后,UIScrollView适合所有表格。 我是iOS新手,这就是为什么不知道该怎么做。提前致谢
答案 0 :(得分:1)
设置int tableHeight = numberOfRows * RowHeight;
并将表格框设置为
table1.frame = [CGRectMake(0, 0,scrollView.frame.size.width , tableHeight)];
table2.frame = [CGRectMake(0, CGRectGetMaxY(table1.frame),scrollView.frame.size.width , tableHeight)];
table3.frame = [CGRectMake(0, CGRectGetMaxY(table2.frame),scrollView.frame.size.width , tableHeight)];
希望这会对你有所帮助!!
答案 1 :(得分:1)
为此,您必须创建自定义类UITableView
并禁用它的滚动视图。
@implementation SizedTableView
- (void)setContentSize:(CGSize)contentSize {
[super setContentSize:contentSize];
[self invalidateIntrinsicContentSize];
}
- (CGSize)intrinsicContentSize {
[self layoutIfNeeded];
return CGSizeMake(UIViewNoIntrinsicMetric, self.contentSize.height);
}
@end
创建一个子类为UITableView
的自定义类,并添加以上两种方法。
将所有tableview添加到scrollview并添加适当的约束来工作。
要避免故事板约束错误,您必须添加tableview占位符高度约束,该约束将在构建时删除。您可以从属性检查器添加它。
答案 2 :(得分:0)
使用一个NSMutableArray
并通过为每个UITable
设置单独的密钥来分隔每个navbar-toggle-right
的数据。在一个视图控制器中使用多个表不是一个好主意