2013-03-05 3 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]; 
} 

в журнале он показывает правильную высоту, но в интерфейсе его не кажется, что высота табличном изменяется. Я отключил прокрутки тоже

Спасибо заранее

+0

Я не проверял, но я бы предположил, что вы должны установите кадр *, а затем * вызовите reloadData. Не наоборот, как у вас есть. – lnafziger

ответ

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; 
} 
Смежные вопросы