У меня есть функция heightForRowAtIndexPath
вычислить высоту ячейки, имеющей два текстовых поля динамического текстаЯчейка UITableView дает разную ширину. Как это решить?
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
let cell = tableView.dequeueReusableCellWithIdentifier(self.kkCellIdentifier) as! NibTableViewCell
cell.updateConstraints()
let width = cell.contentView.frame.width
//use width to calculate the height
}
Я бегу это на iPhone 6 тренажере.
В портретных:
я получаю ширину ячейки иногда как 375 (wrong- это на самом деле ширина рамки Tableview), и иногда как 320 (правильный)
В пейзаже:
я получаю клетки ширина иногда как 320, а иногда и 659 (правильный)
Почему это так? Это ошибка?
Как это решить?
Можно использовать 'let cell = tableView.cellForRowAtIndexPath (indexPath) как! NibTableViewCell' вместо 'let cell = tableView.dequeueReusableCellWithIdentifier (self.kkCellIdentifier) как! NibTableViewCell' – imas145
Я уверен, что 375 правильная ширина для 6 ... 320 правильная для 5 и 4 ... – nhgrif
@nhgrif 375 - фактически общий размер кадра в виде таблицы. 320 - фактическая ширина содержимого ячейки, из-за отступов, которые она помещает в правую и левую сторону экрана для лучшей видимости. И я получил сбой с ошибкой (lldb), выполнив 'tableView.cellForRowAtIndexPath (indexPath) как! NibTableViewCell' – Imran