Wie zu vergrößern dynamisch ein UILabel (Etiketten-und Schriftgröße)?
Im arbeitet derzeit an einem iPhone-Projekt. Ich möchte, um es zu vergrößern dynamisch ein UILabel in Objective-C so:
alt-text http://img268.imageshack.us/img268/9683/bildschirmfoto20100323u.png
Wie ist das möglich? Ich dachte, ich muss es mit CoreAnimation, aber ich habe nicht gearbeitet. Hier ist der code, den ich versuchte:
UILabel * fooL = //[…]
fooL.frame = CGRectMake(fooL.frame.origin.x, fooL.frame.origin.y, fooL.frame.size.width, fooL.frame.size.height);
fooL.font = [UIFont fontWithName:@"Helvetica" size:80];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationBeginsFromCurrentState:YES];
fooL.font = [UIFont fontWithName:@"Helvetica" size:144]; //bigger size
fooL.frame = CGRectMake(20 , 44, 728, 167); //bigger frame
[UIView commitAnimations];
Das problem bei diesem code ist, dass es doesn ' T ändern die Schriftgröße dynamisch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles, was Sie tun müssen, ist gelten eine affine Transformation auf das
UILabel
Objekt.Skalierung Ihres Labels, wie vorgeschlagen, die von anderen mithilfe der
transform
Eigenschaft gut funktionieren wird. Eine Sache im Auge zu behalten ist, dass das label wird größer, die schriftart ist nicht die Erhöhung, sondern nur die gerenderten text, das heißt, es wird angezeigt "unschärfer", wie es größer wird.Nur das skalieren der Beschriftung anstelle einer änderung der fontSize.
Versuchen Sie diese Methode:
Parameter:
übergang
Ein übergang auf Ansicht anwenden. Mögliche Werte sind beschrieben in UIViewAnimationTransition.
anzeigen
Der Blick auf den übergang anwenden zu können.
cache
Wenn JA, werden die vor-und nach-Bilder der view gerendert werden, einmal zum erstellen der frames in der animation. Caching kann die Leistung verbessern, aber wenn Sie diesen parameter auf JA, müssen Sie nicht aktualisieren Sie die Ansicht oder den Untersichten während des übergangs. Die Aktualisierung der anzeigen und deren Untersichten beeinträchtigen kann das caching-Verhalten und die Ursache der Ansicht, dass der Inhalt falsch wiedergegeben (oder an der falschen Stelle), die während der animation. Sie müssen warten, bis der übergang endet, um die Ansicht zu aktualisieren.
Wenn NICHT, werden die anzeigen und deren Inhalte aktualisiert werden müssen, für jeden frame des übergangs animation, die vielleicht nicht merklich beeinflussen die frame-rate.
Diskussion
Wenn Sie möchten, ändern Sie das Aussehen der Ansicht im übergang—zum Beispiel, flip von einer Ansicht zu einer anderen—dann verwenden Sie eine container-Ansicht, eine Instanz von UIView, wie folgt:
Beginnen eine animation block.
Stellen Sie den übergang auf die container-Ansicht.
Entfernen Sie die Untersicht von der container-Ansicht.
Hinzufügen der neuen Untersicht der container-Ansicht.
Einspielen der animation block.