画像が幅でimageViewを塗りつぶし、画像が縦横比を維持するように動的にセルの高さを変更したい。UITableViewAutomaticDimensionを使用して画像のtableViewCellの高さを動的に変更する
UITableViewAutomaticDimension
を使用してこれを実行しようとしています。オンラインで入手できるチュートリアルに基づいて、これは簡単な作業であるようでした。しかし、私の場合、セルの高さはこの作業を行うために調整されません。画像がアスペクト比で塗りつぶされ、幅の空き領域が多く空いているか、または幅が塗りつぶされていますが、画像の一部が垂直にクリップされます。私は、セルのビューに対して先行、後続、上、下の制約があることを確認しました。また、tableView.rowHeight = UITableViewAutomaticDimension
もあり、table.estimatedRowHeightはviewDidLoadに設定されています。私はこのリンクでプロジェクトをアップロードしました。誰かが私がここで行方不明になる可能性があることをお勧めしますか?あなたがのUITableViewControllerのための次のメソッドを実装必要
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var picTableView: UITableView!
let reuseidentifier = "dynamicCellTableViewCell"
let images = [UIImage(named: "feedImage1"), UIImage(named: "feedImage2"), UIImage(named: "feedImage3")]
override func viewDidLoad() {
super.viewDidLoad()
picTableView.rowHeight = UITableViewAutomaticDimension
picTableView.estimatedRowHeight = 1000
}
// MARK: Table View Data Source
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return images.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(reuseidentifier, forIndexPath: indexPath) as! DynamicCellTableViewCell
cell.displayImageView.image = images[indexPath.row]
return cell
}
}
あなたのケースでは、UITableViewAutomaticDimensionと一緒に行く必要がありますか?私はそれが他のソリューションと大丈夫ですか? – sourav
お返事ありがとうございます。はい、私はそのようなアプリケーションのために設計されているように見えるUITableViewAutomaticDimensionを実装しようとしています。私はこのチュートリアルのhttps://www.raywenderlich.com/129059/self-sizing-table-view-cellsに従おうとしましたが、うまく動作しないようです。これで問題が解決しない場合、私はこのプラットフォーム上にすでに存在する他のソリューションを実装しようとします。 – Neeraj