如何一个接一个地对齐UITableView框架并适合UIScrollView?

时间:2017-08-08 03:08:15

标签: ios objective-c iphone uitableview uiscrollview

我在UITableView中有多个UIScrollView。表的大小取决于它具有的行数。表格按照一个在另一个下面的顺序排列。

Table 1
Table 2
Table 3

现在让我们说表1结束于' x '的位置,我希望表2移动到位置' x '并且表3的位置相同移动表2结束的位置。最后,UIScrollView适合所有表格。 我是iOS新手,这就是为什么不知道该怎么做。提前致谢

3 个答案:

答案 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并添加适当的约束来工作。

enter image description here

要避免故事板约束错误,您必须添加tableview占位符高度约束,该约束将在构建时删除。您可以从属性检查器添加它。

答案 2 :(得分:0)

使用一个NSMutableArray并通过为每个UITable设置单独的密钥来分隔每个navbar-toggle-right的数据。在一个视图控制器中使用多个表不是一个好主意