2014-01-30 8 views
0

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

EDIT:

создать колонтитул здесь

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 
    actStreamFooter = [[[NSBundle mainBundle]loadNibNamed:@"AcvitityStreamFooter" owner:self options:nil]objectAtIndex:0]; 
    footerHeight = actStreamFooter.frame.size.height; 

    UIButton *taptoLoad = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, actStreamFooter.frame.size.width, actStreamFooter.frame.size.height)]; 
    [taptoLoad addTarget:self action:@selector(tapToLoad) forControlEvents:UIControlEventTouchUpInside]; 
    [actStreamFooter addSubview:taptoLoad]; 

    if (section == 1) { 
     return actStreamFooter; 
    } 
    else{ 
     return nil; 
    } 
} 

тогда, когда я звоню

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

, потому что мне нужно обновить строку, потому что у меня есть расширяющийся вид внутри каждой ячейки ,

После изменения высоты нижний колонтитул исчезает. Пробовал [tableView reloadData]. Он работает, нижний колонтитул не исчезает, но при перезагрузке происходит сбой. Я хочу удалить сбой

+0

Где именно установить нижний колонтитул? – mChopsey

+0

Я отредактировал вопрос. – jyce1492

+0

Вы называете 'heightForRowAtIndexPath' напрямую вашим кодом? – sha

ответ

0

Новый нижний колонтитул должен быть инициализирован и возвращен для каждого раздела. A UIView не может быть в представлении иерархии более одного раза.

Смежные вопросы