6
私は2つのセクション、1つ目のセクションに1つの行、2つ目のセクションには可変量の行を持つUITableviewを持っています。ユーザがテーブルを上にスクロールすると(指が上に動く)、tableviewはデフォルトの動作ですが、ユーザがuitableviewの一番上にあり、下にスクロールすると(指は下に移動します)、最初のセクションの高さは、ユーザーがスクロールした分だけ増加します(タッチを離すと、行の高さが元の高さの100に戻ります)。私は uitableviewをスクロールしているときに特定のuitableviewcell行の高さを変更する
-(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方法は、0にcontentOffsetをリセットします。これがうまくいかない場合は、UIScrollViewにすべてを書き込む必要があり、リサイクル可能なセルがないと巨大な痛みのように思えます。
誰か提案はありますか?