Während die Antworten auf dieser Seite, in denen das Hinzufügen von Höhenbeschränkungen oder das manuelle Zurückgeben von rowHeights wie 44 in heightForRowAtIndexPath erläutert wird, dazu führen, dass die Warnung nicht mehr angezeigt wird, sind sie überflüssig, da dies ein Fehler in Xcode ist , der in mindestens Version 6.3.2 (6D2105) sichtbar ist.
Wenn Sie in viewDidLoad einen Haltepunkt festlegen, wird self.tableView.rowHeight = -1 (UITableViewAutomaticDimension) angezeigt, selbst wenn Sie im Storyboard eine Zeilenhöhe von 44 angeben. Dies liegt daran, dass Apple fälschlicherweise davon ausgeht, dass Sie dynamische Zeilenhöhen wünschen, wenn Sie die Zeilenhöhe bei 44 belassen, da Sie kein Flag zur Angabe Ihrer Präferenz erhalten haben.
Hier sind einige mögliche Lösungen und ihre Ergebnisse:
Stellen Sie die Zeilenhöhe im Storyboard auf 43 oder 45 ein (funktioniert).
Geben Sie manuell eine Höhe von 44 in heightForRowAtIndexPath zurück (funktioniert).
Fügen Sie Höhenbeschränkungen zwischen den Elementen der UITableViewCell und ihrer contentView hinzu (funktioniert).
Leider müssen Sie bei diesen Lösungen entweder Ihr Design ändern, unnötige Einschränkungen hinzufügen oder unnötigen Code hinzufügen, um einen Fehler zu umgehen. Ich habe versucht (was ich dachte) die einfachste Lösung:
- Stellen Sie die Höhe jeder UITableViewCell im Storyboard auf 44 (Benutzerdefiniert) ein (schlägt fehl).
Ich wollte wirklich eine reine Storyboard-Lösung dafür, also habe ich endlich versucht:
- Fügen Sie der UITableView im Storyboard ein benutzerdefiniertes Laufzeitattribut hinzu, und benennen Sie die UITableView mit einem Hinweis, wie ihre rowHeight festgelegt wird, damit zukünftige Entwickler sie finden können: (funktioniert):

Diese Fehler sind in der iOS-Entwicklung nur allzu häufig und zwingen Entwickler dazu, übermäßig viel Zeit damit zu verbringen, die Auswirkungen abzuwägen, wie sich ihre Lösungen auf lange Sicht auf die Wartbarkeit auswirken.
Da es so schwer ist, eine konzeptionell korrekte Lösung zu finden, die wartbar ist und nicht verschleiert zu sein scheint, und davon auszugehen, dass Apple den Fehler beheben wird und 44 auf absehbare Zeit die Standardzeilenhöhe sein wird, dann die Einschränkung oder benutzerdefinierte Laufzeitattributlösungen sind wahrscheinlich am wartbarsten.