Wie berechnet man den Bounding Rect für einen String in Objective-C / Cocoa?

8

Mit Objective-C / Cocoa Wie berechnet man die Breite und Höhe, die zum Zeichnen einer Zeichenkette auf Basis einer bestimmten Schriftart benötigt wird? In C # / .Net kann man das so machen:

%Vor%

Gibt es sowas in Objective-C / Cocoa?

    
Jason Roberts 04.03.2009, 01:11
quelle

6 Antworten

13

Hier ist ein konkretes Beispiel, das auf den Antworten von Danielpunkass und Peter Hosey basiert:

%Vor%

Für diejenigen, die neu in Objective-C / Cocoa sind, wie ich, ist ein Beispiel wirklich ein langer Weg. Wenn Sie aus C ++ / Java / C # kommen oder was auch immer die Objective-C-Syntax wirklich fremd erscheinen mag und da Apple in ihrer Cocoa-Dokumentation nicht viel Beispielcode einbindet, ist das Erlernen dieser Dinge ziemlich schwierig.

>     
Jason Roberts 04.03.2009, 18:53
quelle
7
___ qstnhdr ___ Wie berechnet man den Bounding Rect für einen String in Objective-C / Cocoa? ___ answer608911 ___

Sie verwenden %code% s %code% Methode.

    
___ answer15001021 ___

Wenn Sie einen Moderator verwenden, z. %code% / %code% (anstatt die Zeichenkette zu bitten, selbst zu zeichnen). Dann sollten Sie dieses Objekt die richtige Größe fragen.

Siehe Mike Wellers Blog über Labels für eine detaillierte Analyse.

    
___ answer608971 ___

Ein Weg ist %code% , wie Danielpunkass gesagt hat. Die andere Möglichkeit besteht darin, einen NSAtributedString zu erstellen und nach dessen %code% . Der einzige Unterschied besteht darin, dass ein Weg ein Objekt mit dem Text und den Attributen zusammen gibt (der attributierte String), während der andere sie getrennt hält.

    
___ answer15408465 ___

Ohh unter iOS6 kannst du auf diese Weise die richtige Größe bekommen:

%Vor%     
___ tag123cocoa ___ Cocoa ist Apples Entwicklungsumgebung für MacOS, bestehend aus Foundation, Application Kit und Core Data. Verwenden Sie den "Kakao-Touch" -Tag für iOS-Fragen. ___ answer611948 ___

Hier ist ein konkretes Beispiel, das auf den Antworten von Danielpunkass und Peter Hosey basiert:

%Vor%

Für diejenigen, die neu in Objective-C / Cocoa sind, wie ich, ist ein Beispiel wirklich ein langer Weg. Wenn Sie aus C ++ / Java / C # kommen oder was auch immer die Objective-C-Syntax wirklich fremd erscheinen mag und da Apple in ihrer Cocoa-Dokumentation nicht viel Beispielcode einbindet, ist das Erlernen dieser Dinge ziemlich schwierig.

>     
___ tag123objectivec ___ Dieses Tag sollte nur bei Fragen verwendet werden, die sich auf Objective-C-Funktionen beziehen oder von Code in der Sprache abhängen. Die Tags [Kakao] und [Kakao-Touch] sollten verwendet werden, um nach Frameworks oder Klassen von Apple zu fragen. Verwenden Sie die zugehörigen Tags [ios], [macos], [apple-watch] und [tvos] für Probleme, die für diese Plattformen spezifisch sind. ___ qstntxt ___

Mit Objective-C / Cocoa Wie berechnet man die Breite und Höhe, die zum Zeichnen einer Zeichenkette auf Basis einer bestimmten Schriftart benötigt wird? In C # / .Net kann man das so machen:

%Vor%

Gibt es sowas in Objective-C / Cocoa?

    
___
Brad Larson 04.03.2009 04:23
quelle
6

Ein Weg ist sizeWithAttributes: , wie Danielpunkass gesagt hat. Die andere Möglichkeit besteht darin, einen NSAtributedString zu erstellen und nach dessen size . Der einzige Unterschied besteht darin, dass ein Weg ein Objekt mit dem Text und den Attributen zusammen gibt (der attributierte String), während der andere sie getrennt hält.

    
Peter Hosey 04.03.2009 01:49
quelle
4

Sie verwenden NSString s sizeWithAttributes: Methode.

    
danielpunkass 04.03.2009 01:18
quelle
0

Wenn Sie einen Moderator verwenden, z. UILabel / NSLabel (anstatt die Zeichenkette zu bitten, selbst zu zeichnen). Dann sollten Sie dieses Objekt die richtige Größe fragen.

Siehe Mike Wellers Blog über Labels für eine detaillierte Analyse.

    
Berik 21.02.2013 11:23
quelle
0

Ohh unter iOS6 kannst du auf diese Weise die richtige Größe bekommen:

%Vor%     
Mirko Brunner 14.03.2013 11:51
quelle

Tags und Links