Изменение определенной высоты строки uitableviewcell при прокрутке uitableview

У меня есть UITableview с 2 разделами, 1 строкой в ​​1-м разделе и переменным количеством строк для второго раздела. Когда пользователь прокручивает таблицу вверх (палец движется вверх), тогда tableview делает это по умолчанию, но когда пользователь находится наверху uitableview и прокручивает вниз (палец движется вниз), он должен выглядеть как первая ячейка в высота первой секции увеличивается по мере того, как пользователь прокручивает вниз (и если отпустить касание, высота строки вернется к исходной высоте 100). Я пробовал

-(void)scrollViewDidScroll:(UIScrollView*)scrollView{
    if(scrollView.contentOffset.y < 0){
        [mainTable reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection: 0]] withRowAnimation:UITableViewRowAnimationNone];
    }
}

-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath{
    if(indexPath.section == 0 && tableView.contentOffset.y < 0){
        return -tableView.contentOffset.y+100;//Default height is 100
    }
}

, но метод reloadRows сбрасывает contentOffset в 0, поэтому tableview просто заикается, когда я опускаю. Похоже, если это не сработает, мне придется писать все на UIScrollView, и это кажется огромной болью без перерабатываемых ячеек.

Есть ли у кого-нибудь предложения?

7
задан Andrew Park 3 February 2012 в 08:49
поделиться