2013-03-05 61 views
0

我想根据数组中项目数量的大小来刷新和调整表格视图的大小,以便在从超级视图中删除子视图时填充到表格视图中。我正在通过创建一个框架来增加每个增加物品高度50。这里是我的代码UITableView的高度不会以编程方式更改

- (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中它似乎并没有改变表视图​​的高度。我已经停用提前滚动太

感谢

+0

我没有测试过这一点,但我想,你应该设置框架*,然后*调用reloadData。不是你拥有它的另一种方式。 – lnafziger 2013-07-27 02:17:24

回答

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; 
} 
相关问题