2

行(カスタムセル)を含むテーブルビューがあります。ユーザーが行をタップすると、行の高さが変更されます(ReloadRowsおよびオーバーライドされたGetHeightForRowメソッドを使用)。ユーザーがすでに選択されている行をタップしたときに、行の高さを元に戻したい。

オーバーライドされたGetHeightForRow()メソッドで以前の高さを取得することは可能ですか?これで問題は解決するはずです。

展開/折りたたみと同じですが、正しく簡単に実装する方法がわかりません。

前もって感謝します!

4

1 に答える 1

0

UITableViewDelegate の最後の選択行を覚えておく必要があります。同じ行の場合は、行を折りたたむ必要があります。

このようなもの:

        public override void RowSelected (
            UITableView tableView, NSIndexPath indexPath)
        {
            if (selectedRow == indexPath.Row)
            {
                Collapse();
            }
            else
            {
                Expand();
            }

            selectedRow = indexPath.Row;

            Console.WriteLine(
                "TableViewDelegate.RowSelected: Label={0}",
                 list[indexPath.Row]);
        }
于 2012-05-20T20:45:24.600 に答える