• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Text im gezoomten UIView

nelfisch

Carola
Registriert
15.03.08
Beiträge
108
Hallo Leute,

meine App unterstützt das zoomen per "pinch"-Geste. Auf sämtlichen Screens, also UIViews meiner App sind Texte in UILabels zu finden, mal mehr mal weniger. Zommen mit einem UIScrollView habe ich mittlerweile nach einigem rumprobieren ausprobiert, Bilder sehen, wenn gezoomt wurde auch ganz gut aus, Auflösung sei dank. Die Texte der Labels lassen allerdings sehr doll zu wünschen übrig. Jemand eine Idee wie ich die der Auflösung anpassen kann? Outlets setzen geht nicht, das sind einfach zu viele und auch zu uneinheitlich :)
Danke schonmal!
 
Keiner eine Idee, wie oder ob sich das bewerkstelligen lässt? Wäre echt cool wenn das klappen würde :D
 
Zu deinem Problem gibt es keine einfache Lösung. Ich bin auch auf das gestoßen und habe den Max Zoom-In lediglich auf 4.0 eingestellt, alles andere wäre vielleicht zu viel.

Ich kann dir nur nen Tipp geben: CoreText ist das was du suchst. Dort gibt es irgendwo eine Methode, die Dazu führt, wenn man Veränderungen am aktuellen View vornimmt, dass sich der Text immer wieder neu zeichnet und somit die Glättung funktioniert.

Oder du schaffst es den Text als PDF zu erstellen. Dafür gibt es auch ne Klasse, keine Ahnung mehr wie die heißt.
 
Ich habe den max-zoom nur auf 2.0 und es ist schon echt nicht mehr witzig :)
Also ich kann im Prinzip nur Sachen machen, die mit Quelltext zu machen sind, und die nicht für jedes einzelne nib neu gemacht werden müssen, Outlets gehen also nicht, das wäre einfach viel zu viel Arbeit bei ca. 300 nibs :D Ich gucke mir das mal mit dem CoreText an, gibt es dann einfach eine Methode wie
Code:
[UILabel drawText]
oder wie? Aber das Problem dabei ist, dass ich ja wenn dann auch die Labels mit Quelltext ansprechen muss, am einfachsten wäre sowas wie
Code:
NSArray* labelArray = [UIView allLabelsInView];
oder was in der Art, das ist aber so nicht möglich, oder? Oder könnte man nicht einfach alle Subviews des Views mit einem Enumerator durchgehen und wenn die Klasse mit UILabel übereinstimmt es dann in ein Array packen? Also ungefähr so:
Code:
NSMutableArray* labelArray = [[NSMutableArray alloc] init];
NSEnumerator enum = [[UIView subviews] enumerator];
while([enum nextObject] != nil){
    if([[enum object] class] == [UILabel class]){
         [labelArray addObject:[enum object]];
    }
}
.
Das mit den Enumeratorn konnte ich grade nicht aus dem Kopf, also bitte nicht hauen, ist klar was ich meine, denke ich...:)