Table View Cell Row Height doesnt work

前端 未结 8 1044
故里飘歌
故里飘歌 2021-02-05 03:39

I have tried to hard code the row height in the table view cell. After running the program it looks like only one line. I suspect it is because of the height of the row

相关标签:
8条回答
  • 2021-02-05 03:50

    Add this code in your UITableViewDelegate

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 100
    }
    
    0 讨论(0)
  • 2021-02-05 03:51

    Set row height as well as estimated row height as Automatic in viewDidLoad() as

    table.rowHeight = UITableViewAutomaticDimension
    table.estimatedRowHeight = UITableViewAutomaticDimension
    

    In heightForRowAt: set height as UITableViewAutomaticDimension as

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

    Note: Set number of lines of label long restaurant name as 0.

    0 讨论(0)
  • 2021-02-05 03:53

    If you want the cells to occupy space according to its content, you need to return UITableViewAutomaticDimension in the table view delegate methods heightForRowAt: and estimatedHeightForRowAt:

    0 讨论(0)
  • 2021-02-05 03:57
    1. Set number of lines to 0
    2. Set
       yourTableView.rowHeight = UITableView.automaticDimension and 
       yourTableView.estimatedRowHeight =  UITableView.automaticDimension
    
    1. return UITableView.automaticDimension in tableView(_:heightForRowAt:) delegate method

    2. Set all constraints . Bottom constraint is important to increase table view cell height .

    Your all set to go

    0 讨论(0)
  • 2021-02-05 03:59

    Following this guide which worked for me, you have to add a bunch of constraints and then the rowheight is calculated automatically.

    In short, what I did: (adding and modifying constraints are the two rightmost buttons bottom right of the storyboard view)I at first selected all views in the prototype cell, deleted all constraints (there is a nice option on the rightmost button), then added all missing constraints (another nice option there) and last I chose the second button from the right and clicked all the red lines. You can do this while having all views selected at the same time. And then it worked.

    0 讨论(0)
  • 2021-02-05 04:03

    Ensure following steps to make, auto dimension effective for cell/row height layout. (Here is sample code for UILabel and how to set content specific height for table cell.)

    • Assign and implement dataSource and delegate
    • Assign UITableViewAutomaticDimension to rowHeight & estimatedRowHeight
    • Implement delegate/dataSource methods (i.e. heightForRowAt and return a value UITableViewAutomaticDimension to it)

    -

    @IBOutlet weak var table: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    
        // Don't forget to set dataSource and delegate for table
        table.dataSource = self
        table.delegate = self
    
        // Set automatic dimensions for row height
        // Swift 4.2 onwards
        table.rowHeight = UITableView.automaticDimension
        table.estimatedRowHeight = UITableView.automaticDimension
    
    
        // Swift 4.1 and below
        table.rowHeight = UITableViewAutomaticDimension
        table.estimatedRowHeight = UITableViewAutomaticDimension
    
    }
    
    
    
    // UITableViewAutomaticDimension calculates height of label contents/text
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        // Swift 4.2 onwards
        return UITableView.automaticDimension
    
        // Swift 4.1 and below
        return UITableViewAutomaticDimension
    }
    

    For label instance in UITableviewCell

    • Set number of lines = 0 (& line break mode = truncate tail)
    • Set all constraints (top, bottom, right left) with respect to its superview/ cell container.
    • Optional: Set minimum height for label, if you want minimum vertical area covered by label, even if there is no data.

    enter image description here

    0 讨论(0)
提交回复
热议问题