Berechne die Zellenhöhe basierend auf dem Text der Zelle in iOS 7

8

Es gibt viele Lösungen, die "sizeWithFont" oder etwas Ähnliches verwenden, das ab iOS 7 nicht weiter unterstützt wird.

Hier ist ein Code, den ich bisher zusammengestellt habe. Die Höhe ändert sich, aber nicht genau:

%Vor%

Für ein anderes Beispiel, hier ist eine ähnliche Antwort: Ссылка obwohl, wie ich schon sagte, Dies verwendet veralteten Code.

    
Demasterpl 25.11.2013, 20:59
quelle

5 Antworten

14

Sie sollten die Methode verwenden, die in den Dokumenten erwähnt wird, um die alte one - boundingRectWithSize zu ersetzen: options: attributes: context :. Hier ist ein Beispiel, das meiner Meinung nach funktionieren sollte (es funktioniert sowieso mit mehrzeiligen Labels).

%Vor%

Dies setzt voraus, dass die Textansicht die Größe von self.view haben soll. Wenn nicht, sollten Sie initWithFrame für Ihre Textansicht verwenden und calculationView.frame.size für den Parameter "boundingRectWithSize:" übergeben.

    
rdelmar 26.11.2013 00:36
quelle
7

Hier ist die einfachste Version, iOS 7 macht das ganze schwere Heben (nur für Autlayayout-basierte uitableviewcells):

%Vor%

systemLayoutSizeFittingSize wertet die automatischen Layout-Einschränkungen neu aus und gibt die perfekte Höhe für Ihre Zelle zurück. Einfach, oder?

    
Wirsing 17.03.2014 20:02
quelle
2

Ich habe es von meinem Kollegen (ANIRUDH) und funktioniert gut, kann hilfreich sein:

%Vor%     
Yogesh Lolusare 18.11.2014 10:01
quelle
0
%Vor%     
kalpesh 09.12.2015 07:57
quelle
-1

Um die Größe Ihrer Zeichenfolge zu erhalten, sollten Sie - (CGSize)sizeWithAttributes:(NSDictionary *)attars verwenden.

Also würden Sie für Ihr Beispiel die Höhe der Textbeschriftung als solche berechnen:

%Vor%

oder

%Vor%     
ChrisSamuelson 25.11.2013 21:34
quelle

Tags und Links