У меня есть 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, и это кажется огромной болью без перерабатываемых ячеек.
Есть ли у кого-нибудь предложения?