2017-11-26 19 views
0

と折りたたみテーブルビューのセルを展開し、私はテーブルビューに何かを作成したいが、以下、この画像のように見える.../ショー/少ないボタン

table view cell

ない全ての細胞は、余分な値を持っていますが、すべてのセルは、タイトルの記述を有します。 「詳細を表示」ボタンをクリックすると、セルがアニメーションとともに展開されます。私は以下の質問があります。 「詳細を表示」ボタンをクリックすると、細胞を拡大する方法

  1. (タイトル、説明、余分な値のためにタイトルと説明のための一つのセルおよび他の)2つのセルを設計することが必要です
  2. 。一部のセルには説明のみがあり、一部のセルには説明と余分な値が含まれます。
  3. これはどちらが効率的ですか?この場合は自動サイズ変更または自動レイアウトが必要です。

ご意見はお寄せください。ここで

+0

Instagramのような[more]ボタンでUITableView内のUILabelを展開することができます(https://stackoverflow.com/questions/43096231/expand-uilabel-inside-uitableview-with-more-button-like-instagram) – DonMag

答えて

0

が答えます:

  1. いいえ、そうではありません。しかし、 "詳細を表示"ボタンを持たないセルのデザインを表示してもよければ、もっと正確な答えを言います。しかし、基本的には、ルールは「上部が同じであれば、両方のセルに同じデザインを使用できます」と言います。あなたがすることはセルの底部を隠すことなので、セルの高さが低くなるため、隠されます。しかし、あなたがそれを軽くしたいと考えることを考慮すると、何もしないことから隠されているセルの余分な底部を持つことを望まないかもしれません。だから理想的にはは2つの別個の細胞を持つが、あなたの質問に答えるのはである必要はないです。

  2. クリック数を確認する方法と展開する方法の2つの質問があります。私は1で1を説明します。

2.1。クリックをチェックする方法:セルクラスのデリゲートを作成し、ビューコントローラにボタンの「詳細の表示」がタップされたことを通知し、ビューコントローラのセルを展開します。

2.2。 heightForCellAtIndexPathを使用してセルの高さを調整するだけです。拡張されている場合は、短くしない場合は高くします。しかし、ここで重要なのは、デリゲートメソッドが呼び出されると、tableView.reloadRows(at:)に呼び出す必要がある場所で、アニメーションでセルをリロードする必要があり、素敵なアニメーションでセルが展開される点です。 Btw私は.fadeアニメーションを使用することを好む。

  1. 私はこれに答えましたが、まだ明確でない場合は教えてください。

希望します。

+0

この目的で自動高さ計算を使用するか、自分のセル高さを計算する必要がありますか? –

+0

@WAHIDMARUF自動高さを使用し、自動レイアウトの制約に基づいてセルの高さを再計算させることが望ましいでしょう。同様に、テーブルのビューbeginUpdatesメソッドとendUpdatesメソッドを使用して、セルの高さの変化をアニメーション化することができます。 –

+0

小さな質問が1つあります。ラベルまたはテキストを使用する必要があります。値1、値2、値3 "の値は?私はこれのために属性を使用しなければなりません。しかし、これに対してもっと効率的なものは何でしょうか? –