Я работаю над приложением, где я сталкиваюсь с какой-то странной проблемой. Я создал UITableViewController в раскадровке и добавил ячейку прототипа. В этой ячейке я добавил элемент UILabel, и этот UILabel занимает всю ячейку. Я настроил его с помощью Auto Layout и добавил ограничения слева, справа, сверху и снизу. UILabel содержит текст.iOS 8 UITableView первая строка имеет неправильную высоту
Сейчас в моем коде, я инициализацию в RowHeight и estimatedRowHeight в виде таблицы:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 50
}
И я создаю ячейку следующим образом:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("HelpCell") as? UITableViewCell
if(cell == nil) {
cell = UITableViewCell(style: .Default, reuseIdentifier: "HelpCell")
}
return cell!
}
Я возвращаю две строки в моей таблице Посмотреть. Здесь возникает моя проблема: высота первой строки является большой. Похоже, что вторая, третья строка и т. Д. Имеют правильную высоту. Я действительно не понимаю, почему это так. Может кто-то помочь мне с этим?
Я уверен, что мои ограничения не неоднозначным, так как у меня есть только 4 ограничения на UILabel. Есть ли у вас какое-либо другое предположение, что может быть неправильным? – Devos50
Не будьте «уверены». Есть способы узнать, есть ли у вас двусмысленный макет. Используй их. Не используйте ваше чувство кишки; это проблема, а не решение. Если бы вы _knew_, что составляло однозначный макет, мы бы не были здесь с вами проблемы, не так ли? Послушай, что я тебе говорю. Простой факт состоит в том, что 4 ограничения, закрепляющие левый, правый, верхний и нижний, не достаточны. Вероятно, ваши ограничения _are_ неоднозначны. – matt