私は検索しており、この問題の解決策を見つけることができません。現在のコードはReload section without reloading section headerに基づいています。autolayoutでセルを展開すると、UITableViewがジャンプします。
私はユーザーがセルを押したときにuitableviewセルを大きくしようとしています。私は最初に2行のテキストに制限されているUILabelを持つUITableViewCellサブクラスを持っています。ユーザーがUILabelを押すと、UILabelのnumberOfLinesプロパティが0に設定され、必要な数の行に展開されます。ここで
はのtableViewから私のコードです:didSelectRowAtIndexPath:
if (((NSNumber *)expandedCells[indexPath.section]).boolValue)
{
labelExpandingCell.cellLabel.numberOfLines = 10;
} else
{
labelExpandingCell.cellLabel.numberOfLines = 3;
}
[UIView setAnimationsEnabled:NO];
[self.tableView beginUpdates];
[self.tableView setNeedsDisplay];
[self.tableView endUpdates];
[UIView setAnimationsEnabled:YES];
は時々これは私が実行したときのUITableViewのcontentOffset.yの== 0は通常テーブルビューが後方100個のピクセルまたはそうにジャンプ、通常時に、正常に動作しますこのコード。このコードが実行される前後のログの例を次に示します。
2016年3月25日14:57:08.549 TableViewTest [485:129926]更新前のオフセット内容:153.500000 2016年3月25日14:57:08.568 TableViewTest [485:129926]更新後のオフセット内容:136.500000
現在表示されているセルを拡大すると、オートレイアウトによってテーブルビューが後方にジャンプするのはなぜですか?
私は以前働いていたコードと似たものを手に入れています。これがいつ始まったのか分かりません。おそらくiOS 9 SDKですか?セルの高さを手動で設定することに戻ってはいけません! –