2017-05-22 1 views
0

Ich versuche, eine Demo zu machen, diewie man eine Linie des Fahrwegs implementieren

ist

es wird eine vertikale Linie auf der linken Seite des Bildschirms (der Bildschirm eine Standardfarbe hat) und die Linie bewegen von links nach rechts. Und die Linie wird wie ein Pinsel, der den Bildschirm auf andere Farbe schmerzen, so wie dies zu implementieren? Vielen Dank im Voraus.

Antwort

1

Sie könnten dies mit farbigen Ansichten und UIView Animation tun.

Richten Sie eine Ansicht mit einer Hintergrundfarbe ein, die den Bildschirm ausfüllt. Setzen Sie die Hintergrundfarbe dieser Ansicht auf "die andere Farbe". Nennen wir das die "Füllansicht". Wenn Sie es an der linken Seite der Inhaltsansicht anheften, geben Sie ihm eine Einschränkung für die rechte Kante, die auch am linken Rand der Inhaltsansicht angeheftet ist. Fügen Sie der Beschränkung für die linke Kante einen Ausgang hinzu. Nennen wir diese Bedingung outlet "rightEdgeConstraint.

Erstellen Sie eine Linienansicht (nennen Sie die" Linienansicht ") mit einer festen Breite Einschränkung und eine andere Hintergrundfarbe. Fügen Sie eine linke Kante Einschränkung der Linienansicht, die es rechts anfügen . Kante der Füllung Ansicht

Jetzt in Ihrem Code, animieren die Einschränkung rechten Rand:

UIView.animateWithDuration(1.0) { 
    //Make the fill view as wide as the content view. 
    rightEdgeConstraint.constant = view.width 
    view.layoutIfNeeded() 
} 

Wenn Sie der Benutzer möchte in der Lage, die Linie ziehen links nach rechts, dann müssten Sie anhängen eine Schwenkgestenerkennung für die Linienansicht und verwenden Sie die Änderung in X - Position, um den Wert der rightEdgeConstraint.constant (und der n anrufen wie oben.)

+0

Das ist sehr hilfreich und Wenn ich diese Animation auch in einem analogen Countdown-Timer funktioniert, zum Beispiel, wenn ich den Stundenzeiger malen möchte den Bereich, den es reist – Nan

+0

Animieren eines kreisförmigen Uhrzeiger ist jedoch ein wenig komplizierter. –

+0

yeah Ich kann sehen, das ist eigentlich das, woran ich gerade arbeite, irgendein Tutorial oder Quellcode, den Sie vorschlagen? Vielen Dank im Voraus – Nan

Verwandte Themen