2009-06-22 18 views
1

Ich habe eine Schaltfläche in einer Ansicht hinzugefügt (die Ansicht hat dieselbe Größe wie die Schaltfläche). Wenn diese Schaltfläche angeklickt wird, muss eine neue Ansicht angezeigt werden. Also habe ich im Ereignishandler der Schaltfläche die neue Ansicht als Unteransicht der Ansicht hinzugefügt, zu der die Schaltfläche hinzugefügt wurde, so dass die neue Ansicht angezeigt wird, wenn auf die Schaltfläche geklickt wird. Die Sache, die ich hier tun muss, ist, wenn ich auf die Schaltfläche klicke, muss die neue Ansicht von oben nach unten aufgerufen werden (sie muss so aussehen, als ob sie von der Schaltfläche aus nach unten rutscht). Wenn die gleiche Schaltfläche erneut angeklickt wird, muss die neue Ansicht zurückrollen (gleiten) und verschwinden. Ich weiß, dass ich etwas Animationsmaterial anwenden muss, um diesen Effekt zu erzielen. Aber ich habe keine Ahnung, wie ich das machen soll. Können Sie mir bitte helfen, ein paar Ideen zu geben?Animieren der Anzeige einer Ansicht

Vielen Dank im Voraus !!!

+0

ist das nicht machbar? – saikamesh

Antwort

1

Nun können Sie die Größe des Fensters animieren Sie die Folie von oben so zu simulieren:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.3]; 
myView.frame = CGRectMake(0, buttonHeight+buttonTop, myView.frame.size.width, viewTargetHeight); 
[UIView commitAnimations]; 

Achten Sie darauf, die Höhe der Ansicht auf 0 gesetzt, wenn Sie es schaffen.

es bis zu bewegen zurück tun genau das Gegenteil

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.3]; 
myView.frame = CGRectMake(0, buttonHeight+buttonTop, myView.frame.size.width, 0); 
[UIView commitAnimations]; 

Wenn Sie tatsächlich Ihre neue Ansicht können Sie versuchen, verschieben wollen sowohl die Größe und die Position Animieren und Sie brauchen wahrscheinlich auch Ihre animierten Clip Ansicht mit einer anderen Ansicht.

+0

Danke, das funktioniert gut. Aber ich habe eine Schaltfläche in myView hinzugefügt. Wenn wir die Ansicht erweitern, funktioniert es gut, aber wenn wir es zurückschieben, scrollt der Titel der Schaltfläche nach oben und bleibt dort selbst. Sie verschwindet nicht vollständig. – saikamesh

+0

Ich bin mir nicht sicher, ob ich vollständig verstehe, was falsch ist, aber versuche mvView.clipsToBounds auf YES zu setzen. könnte es lösen. –

+0

So verschieben Sie eine Ansicht nicht, hier animieren Sie die Höhe, nicht die y-Koordinate des Ursprungs. Dadurch wird es animiert, von 0 bis zur normalen Höhe zu wachsen. Bessere Lösung ist es, die y-Koordinate zu animieren, sie vom Bildschirm zu starten und dann in Position zu bringen. – progrmr

Verwandte Themen