问题
when we have a lable and image in tableview cell how do we resize cell in swift or lable as per the text in the Last cell(in picture) there are some more lines of text but text is cutting off how we resolve it
回答1:
Give constrain to your lable hight greater equal and put line to 0.
var pickheight: CGFloat = 0.0
Write this line in
override func viewDidLoad() {
super.viewDidLoad()
tableTrip.rowHeight = UITableViewAutomaticDimension
}
Method for increase tableview cell .
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
pickheight = self.findHeightForText("Pass your text here like array value as String ", havingWidth: self.view.frame.size.width - 116, andFont: UIFont.systemFontOfSize(14.0)).height
return "YOUR_DEFALUT_CELL_SIZE" + pickheight
}
Method for find text hight for cell..
func findHeightForText(text: String, havingWidth widthValue: CGFloat, andFont font: UIFont) -> CGSize {
var size = CGSizeZero
if text.isEmpty == false {
let frame = text.boundingRectWithSize(CGSizeMake(widthValue, CGFloat.max), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
size = CGSizeMake(frame.size.width, ceil(frame.size.height))
}
return size
}
回答2:
- set top,bottom,leading,trailing constraints for your label
- set Attribute Inspector->lines to 0
- set tableview.rowHeight = UITableViewAutomaticDimension in viewDidLoad() method
回答3:
All you really have to do is:
- Use Auto Layout when creating your table view cells.
- Set the table view rowHeight to UITableViewAutomaticDimension.
Set the estimatedRowHeight or implement the height estimation delegate method.
tableView.rowHeight = UITableViewAutomaticDimensiontableView.estimatedRowHeight = 200 // Set maximum height needed for the table row
The trick to getting Auto Layout to work on a UITableViewCell is to ensure you have constraints to pin each subview on all sides — that is, each subview should have leading, top, trailing and bottom constraints. Then, the intrinsic height of the subviews will be used to dictate the height of each cell.
Please, Read this article for details and working sample: https://www.raywenderlich.com/129059/self-sizing-table-view-cells
来源:https://stackoverflow.com/questions/39888512/tableview-cell-how-do-we-resize-cell-in-swift-along-with-image-and-label