Ich implementiere eine Funktionalität, in der alle Etiketten meiner Zelle wurde in der Größe geändert, wie der Text mit jedem Etikett. Ich habe diese Funktionalität mit Hilfe von RayWanderlich tutorial und seine Arbeit implementiert gut für iPhone 4s, 5 und 5s mit iOS 8.1. wie, unter dem in Bild gezeigt zeigt iPhone 5s Simulator mit iOS 8,1Dynamische Höhe in Zelle Problem in iPhone6 und iPhone6 plus
, während ich meine App mit iPhone 6 oder iPhone 6 leite und ich bekam ein unerwartetes Verhalten, wie unten Bild gezeigt, das iPhone 6 Simulator
und iPhone 6 Plus Simulator.
Ich habe zwei benutzerdefinierte Zelle eines für iPhone 4,4s nib-Dateien erstellt, 5 und 5 s und zweiten für iPhone 6 und 6 Plus. Da ich neu mit Auto-Layout bin, habe ich beide Nibs gleich gesetzt. Ich zeige sowohl benutzerdefinierte Zellen-Nib-Dateien mit festgelegten Einschränkungen unter Bildern. auch
iPhone 4,4s, 5 und Feder 5s Datei Snapshot
iPhone 6 und iPhone 6 Plus nib Benutzerdefinierte Zelle Datei Snapshot
I verwendet das folgende Code-Snippet von dem aus die Größe der Zelle mit der dynamischen Höhe geändert wurde. Der Code funktioniert für iPhone iPhone 4 (für iOS 7), 4s, 5 und 5s (für iOS 7 und iOS 8 und 8.1) gut, aber nicht für iPhone 6 und iPhone 6 plus.
Code Snippet
- (CGFloat)calculateHeightForConfiguredSizingCell_3:(MemberListTableViewCell_WithoutImage_3_iPhone *)sizingCell {
sizingCell.bounds = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.tblView.frame), CGRectGetHeight(sizingCell.bounds));
[sizingCell setNeedsLayout];
[sizingCell layoutIfNeeded];
CGSize size = [sizingCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
//CGSize size = [sizingCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize withHorizontalFittingPriority:UILayoutPriorityDefaultHigh verticalFittingPriority:UILayoutPriorityDefaultHigh];
return size.height + 1.0f; // Add 1.0f for the cell separator height
}
Bitte geben Sie mir eine richtige Lösung, wo ich wrong.I haben gesurft viele Dinge werde aber nicht in der Lage die richtige Weg, um dieses Problem zu lösen. Ihre Hilfe wäre spürbar. Vielen Dank im Voraus.