Change height of UITableView programmatically

后端 未结 3 1677
有刺的猬
有刺的猬 2021-01-26 05:56

I have a UITableView and I\'d like to change its height programmatically depending on the number of cells contained in it.

Can you help me?

相关标签:
3条回答
  • 2021-01-26 06:19

    You can use this code

    self.yourTableView.frame = CGRectMake(x,y,width,noOfCell*heightOfOneCell);
    
    0 讨论(0)
  • 2021-01-26 06:24

    Did you tried sizeToFit or sizeThatFits:?

    CGRect tFrame = tableView.frame;
    tFrame.size.height = MIN([tableView sizeThatFits: CGSizeMake(tFrame.size.width,
                                                                 CGFLOAT_MAX)].height,
                             MaximumTableHieght);
    tableView.frame = tFrame;
    

    Or try this (I don't remember which was working for me).

    CGRect tFrame = tableView.frame;
    tFrame.size.height = MIN(tableView.contentSize.height,
                             MaximumTableHieght);
    tableView.frame = tFrame;
    
    0 讨论(0)
  • 2021-01-26 06:28

    You can observe tableView.contentSize changes and bind the value to the frame, keep in mind you might run into memory issues since table view won't recycle cells

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