Ios Springs/Struts、dynamic content和UIScrollView未正确滚动

Ios Springs/Struts、dynamic content和UIScrollView未正确滚动,ios,iphone,xcode,uiscrollview,autolayout,Ios,Iphone,Xcode,Uiscrollview,Autolayout,将动态单元格添加到UIScrollView中的动态UITableView时遇到问题。滚动视图不会一直滚动到底部。下面您将看到max滚动条,在表格末尾隐藏了另外两个单元格。我正在使用自动布局,不知道如何修复此问题 - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section { [self setTableHeight]; return [player.metas count

将动态单元格添加到UIScrollView中的动态UITableView时遇到问题。滚动视图不会一直滚动到底部。下面您将看到max滚动条,在表格末尾隐藏了另外两个单元格。我正在使用自动布局,不知道如何修复此问题

- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section {
    [self setTableHeight];
    return [player.metas count];
}

- (void)setTableHeight
{
    long tableHeightCalculated = 44 * [player.metas count];
    metaTableView.frame = CGRectMake(metaTableView.frame.origin.x, metaTableView.frame.origin.y,
                                 metaTableView.frame.size.width,  tableHeightCalculated);
}

确保正确设置了UIScrollView的contentSize。 如果正确设置contentSize和UIScrollView的框架,则应滚动查看所有内容

请试试这个

- (void)setTableHeight
{
    long tableHeightCalculated = 44 * [player.metas count];
    CGFloat diffHeight = tableHeightCalculated - metaTableView.frame.size.height;
    metaTableView.frame = CGRectMake(metaTableView.frame.origin.x, metaTableView.frame.origin.y,
                                     metaTableView.frame.size.width,  tableHeightCalculated);
    _uiScrollView.contentSize = CGSizeMake(_uiScrollView.contentSize.width, (_uiScrollView.contentSize.height + diffHeight));
}

如果您使用的是静态表视图,那么您甚至不应该实现任何数据源方法(如numberOfRowsInSection)。这是一个动态表。
-(void)viewDidLayoutSubviews{[super viewDidLayoutSubviews];[self.uiScrollView LayoutFeeded];self.uiScrollView.contentSize=self.uiView.bounds.size;}
UITableView在设计视图中的高度是多少?您是否设置了单元格数量*单元格高度?如果没有,则应在创建单元格时更新contentSize。但是如果你已经做了所有这些,自动布局可能会像你说的那样出现问题。在设计模式下高度是156,但是有44 x 5行。所以,有两种方法可以解决这个问题。1.如果表格正好显示5行,而单元格的高度正好为44,则应将“设计”视图中的表格高度设置为220。2.如果表格显示的单元格少于或多于5行,或者单元格高度是动态的,则必须在创建每个单元格时设置新表格的高度,并且不要忘记计算和设置滚动视图的新contentSize。如上所示,我确实根据单元格数设置了动态表格的表格大小。我计算的高度是44*或行。如果我已经在viewDidLayoutSubViews中设置了contentSize,那么在此之后我应该在哪里设置scrollview的contentSize。