iPhone-セルを選択すると、uitableviewの上部に移動します
-
27-10-2019 - |
質問
やあみんな、私はこの問題を探しました、そして私は答えを見つけることができなかったと思います。カスタムセルのテーブルビューがあり、クリックすると、選択したセルが情報を含む新しいセルをプッシュします。選択したセルをuitableviewの上部にプッシュする方法、またはテーブルビュー全体を埋める方法を誰かが考えているのではないかと思いました。
私のuitableviewは画面の半分しか占めていません。セルが選択されたときに、画面の半分しか占めず、ユーザーがセルをスクロールできるようにしたいのですが(それが理にかなっている場合)?
何か提案をいただければ幸いです。私が探しているものを説明するのは少し難しかったので、説明が必要な場合は遠慮なく私に聞いてください。
ありがとうございます!
解決
cellForRowAtIndexPathでは、セルを作成した後にこれを配置する必要があります ジェネラコディセタグプレ
これは、セルのカスタムの高さでもうまくいきました。
他のヒント
私のアプリには、クリックすると大きくなるように拡大するセルがたくさんあります。一度に拡張できるセルは1つだけです。私は基本的に現在選択されているindexPathを追跡し、次にheightForRowAtIndexPathで追跡します。これが選択された販売であるかどうかを確認します。もしそうなら、私はより大きな高さを返します。
次に、didSelectRowAtIndexPathで:現在のindexPathを設定し、新しいセルと前のセルの両方を再読み込みします。これはあなたが探しているものと似ているように聞こえます...それはうまくいくでしょうか?
選択したセルをテーブルビューの一番上に移動するには、選択したセルのインデックスをdidSelectRowAtIndexPathのインスタンス変数に格納してから、[tableViewreloadData]を呼び出します。
データソースのtableView:cellForRowAtIndexPath:メソッドで、選択したセルがインデックス0で返され、選択したセルより前のすべてのセルがインデックス+1で返されるようにします。
セルを移動する場合は、これから始めることができます。 ジェネラコディセタグプレ
これにより、UITableViewが考慮されている限り行が移動します。もちろん、データソースの新しい順序にも一致させる必要があります。(データの配列の順序を変更するようなものです)
また、これを行うときは、テーブルを一番上までスクロールすることをお勧めします。