IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

SwiftでTableViewセルの高さを動的に変更する


iOSのtableViewセルの高さを動的に変更するには、つまり、使用可能なコンテンツに応じてセルのサイズを変更するには、自動ディメンションプロパティを使用する必要があります。これは、サンプルプロジェクトの助けを借りて確認できます。

空のプロジェクトを作成してそのviewControllerクラスに移動し、UITableViewDataSourceおよびUITableViewDelegateに準拠させます。

次に、以下のコードでは、最初にテーブルを作成し、次にそのテーブルのセルを登録して、いくつかのテーブルプロパティを追加します。

テーブルビューデリゲートとテーブルビューデータソースを設定します。

最後に、表示するテーブルビューを追加します。次に、ビューコントローラのviewDidLoadメソッド内でこの関数を呼び出します。

注: EstimatedRowHeight というプロパティを設定しました

func initTableView() {
   let tableView = UITableView()
   tableView.frame = self.view.frame
   tableView.dataSource = self
   tableView.delegate = self
   tableView.backgroundColor = colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
   tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
   tableView.estimatedRowHeight = UITableView.automaticDimension
   self.view.addSubview(tableView)
}

ここで、このコードはビューにテーブルを追加します。また、コードに必要なセクションと行の数をテーブルに通知する必要があります。

func numberOfSections(in tableView: UITableView) -> Int {
   return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return 5
}
func numberOfSections(in tableView: UITableView) -> Int {
   return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return 5
}

このコードは、テーブルビューの2行目に大きなテキスト行を作成し、コンテンツサイズに応じた高さを取得します。

注: UITableViewCellにはデフォルトでlabelプロパティがあり、ラベルにはデフォルトで1行の長さがあります。したがって、自動ディメンションが機能するようにするには、これを変更する必要があります。

次に、セルの高さをテーブルに指示する必要があります。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
   return UITableView.automaticDimension
}

上記のコードを実行すると、次の結果が得られます。

SwiftでTableViewセルの高さを動的に変更する


  1. Windowsターミナルウィンドウのデフォルトの高さと幅を変更する方法

    Windows Terminalを使用している人は、その使用がどれほど重要で、多くの場合、どれほど頻繁に使用できるかを知っています。使用するたびに、デフォルトのWindowsターミナルウィンドウのサイズを調整していることに気付くかもしれません。多分それはあなたやその逆には小さすぎます。その調整はかなり簡単ですが(マウスをドラッグするだけです)、常にそのように開くように、好みの寸法を選択することをお勧めします。この記事では、Windows11/10でWindowsターミナルのデフォルトの高さと幅を変更する方法を説明します。 Windowsターミナルのデフォルトの高さと幅を変更する方法 このオプ

  2. Googleスプレッドシートでセルの色を自動的に変更する方法

    スプレッドシートで色が変化するセルを使用すると、データをすばやく評価するための便利な視覚的補助になる場合があります。 Googleスプレッドシートでこの機能が必要な場合は、データに応じてセルの色が変わるように設定するのは非常に簡単です。 Googleスプレッドシートでセルの色を変更する方法 この例では、1週間に何マイル走ったかを記録するためのスプレッドシートを作成しましょう。体調を整えようとしているので、次のスプレッドシートを作成して、ランニングがどのように進んだかを追跡しました。 理想的には、毎週10マイル走り、毎週記録して、どの週がうまくいき、どの週が目標を達成できなかったかを確認し