Ich habe statische UITableView
mit Basic-Stil Zellen, Standard 44 Höhe. In jeder Zelle befindet sich ein Label mit dem Stil Body text. Auf diese Weise erhalte ich das Verhalten des dynamischen Typs kostenlos.UILabel verschwinden von statischen UITableViewCell mit dynamischen Typ
Es funktioniert, außer wenn:
- öffnen app
- öffnen Tabellenansicht
- Einstellungen öffnen ANG ändern Textgröße (größer kleinerer)
- öffnen App wieder, Etiketten verschwinden.
- gehen zu einer anderen Ansicht (hinten) und wieder unruhige Tabelle öffnen - Text geändert und sieht gut aus
ich diese
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(preferredContentSizeChanged)
name:UIContentSizeCategoryDidChangeNotification object:nil];
}
- (void)preferredContentSizeChanged
{
// adjust the layout of the cells
// for some reason text from labels are disappear
self.statusBarCell.textLabel.text = @"Status bar";
self.itemColorCell.textLabel.text = @"Color";
Aber ich habe zu beheben verwalten einen anderen mit folgendem Hack
genau das gleicheUITableView
und das funktioniert nicht. Ich habe Steckdosen für Zellen und Etiketten ausprobiert. Ich habe versucht
reloadData
und
setNeedsLayout
Methoden.
Hier sind Bilder. Etiketten sind gelb und Seiten ist blau:
Dank für die gemeinsame Nutzung haben, versuchte ich es auf meinem anderen statischen Tisch und es hat nicht geholfen. Ich muss noch Etiketten Text auf 'preferredContentSizeChanged' Benachrichtigung erstellen. –
Nein, meine obige "Lösung" funktioniert nicht mit statischen Tabellen, aber ich denke, intern ist das Problem dasselbe: Die Labels in den Zellen werden nicht korrekt auf die neuen Schriften aktualisiert - wahrscheinlich weil zu viel Caching läuft . – mschmidt
Ich sehe, in meiner Antwort mache ich die gleiche Codezeile. Nur ich mache es in 'cellForRowAtIndexPath' Methode von' UITableViewController'. –