Frage

Ich schreibe eine Zeichenanwendung, die ein Tools-View-Controller zeigt, wenn der Benutzer ein Element in einer Symbolleiste klickt. Allerdings haben einige meiner Beta-Tester berichteten, dass die Werkzeuge Gaumen zu langsam öffnet. Ich bin mit dem Standard PresentModalViewController: animierte: rufe die Werkzeuge, um anzuzeigen, und ich habe versucht, es in einem Codeblock wie diese Umhüllung es zu beschleunigen:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration: 0.1];
[self presentModalViewController:settings animated:YES];
[UIView commitAnimations];

Leider, das funktioniert nicht. Wenn Sie animiert sagen: NEIN funktioniert es besser, aber die zugrunde liegende Zeichnung Leinwand Ansicht wird sofort entfernt (da die Steuerung denkt, dass es nicht mehr zu sehen ist), und so tritt die Animation über einen weißen Hintergrund

.

Hat jemand dies getan, bevor das wäre bereit, einige Ratschläge zu erteilen? Ich würde es zu schätzen wissen!

War es hilfreich?

Lösung

Eine ähnliche Frage gestellt hier .

Sie können auch die Geschwindigkeit ändern, mit dieser Technik, aber in meinem Experiment, tut sie dies über einen leeren Hintergrund, wie Sie vorgeschlagen haben.

Andere Tipps

Editiert: hinzugefügt eine andere Option mit Controller Containment für iOS 5 und später

.

Eine andere Lösung ist die Ebenenzeitraum zu setzen.

Dies wird durch die Geschwindigkeit Eigenschaft CALayer getan. Um die Animation zu verlangsamen, könnte man verwenden:

MytransparentVCViewController *vc = [[MytransparentVCViewController alloc] initWithNibName:@"MytransparentVCViewController" bundle:nil];
// Makes all animations 10 times slower
// To speed it up, set it to multiples of 1: 2 is 2 times faster, 3 is 3 times faster etc
vc.view.layer.speed = 0.1; 
[self presentModalViewController:vc animated:YES];

Beachten Sie, dass die vorgeschlagene Lösung im verlinkten Beitrag wird nicht funktionieren, wenn Ihr Ziel ist es, die Geschwindigkeit der Bewegung der Modal-View-Controller zu ändern, die Sie im Begriff sind, zu präsentieren (zum Beispiel, wenn Sie verwenden UIModalTransitionStyleCoverVertical).

Die Geschwindigkeit der Schicht ist kein absoluter Wert, sondern eine Funktion der genannten übergeordneten Zeitraum der Schicht (es sei denn, die Schicht ist in der Wurzel der Schichthierarchie natürlich). Zum Beispiel, wenn Sie eine Schicht der Geschwindigkeit auf 2 gesetzt, seine Animationen werden doppelt so schnell im Vergleich zu der Schicht der Eltern Animationen ausgeführt werden.

Eine weitere Option ist View-Controller-Sicherheitsbehälter zu verwenden. (IOS 5 und höher)

http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006926-CH3-SW81 .

Sie haben die volle Kontrolle über die Animation mit UIViewController des transitionFromViewController: toViewController: Dauer: Möglichkeiten: Animationen: Abschluss:.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top