0

当从超级视图中删除子视图时,我想根据数组中项目的大小来刷新和调整表视图的大小以填充到表视图中。我通过创建一个框架来做到这一点,该框架为每个增加的项目增加 50 的高度。这是我的代码

- (IBAction) doneAddingUsers:(id)sender {

    [self.crewTable setHidden:NO];
    [self.crewTable reloadData];
    self.crewTable.frame = CGRectMake(self.crewTable.frame.origin.x, self.crewTable.frame.origin.y, self.crewTable.frame.size.width, [crewArray count]*50);

    NSLog(@"height: %f", crewTable.frame.size.height);
    [self.view bringSubviewToFront:self.crewMembersView];
    [self.crewMembersView removeFromSuperview];
}

在日志中它显示了正确的高度,但在 UI 中它似乎没有改变表格视图的高度。我也禁用了滚动

提前致谢

4

1 回答 1

2

您可以这样做,而不是在 doneAddingUsers: 中设置框架:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    int count = [crewArray count];

    //Set the height of the tableview
    CGRect frame = self.tabPackageList.frame;

    frame.size.height = (count * 50);

    [self.tabPackageList setFrame:frame];

    // Return the number of rows in the section.
    return count;
}
于 2013-07-26T22:42:43.190 回答