(Scale) Transformations-Animation auf UITextView

stimmen
0

Mein Ziel ist es, eine „Blase-up“ Animation eines erstellen , UITextViewdie in einer verschachtelten wird UIViewKarte modal dargestellt.

Während die Karte angezeigt wird , das UITextViewscheint nicht to..is einig Abhilfe es dafür? Unten ist der Code , den ich bisher versucht haben , ...

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    DispatchQueue.main.async {
        UIView.animate(withDuration: 1, delay: 0.1, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.8, options: .curveEaseOut, animations: {
            self.cardView.transform = CGAffineTransform(scaleX: 1, y: 1)              
            self.messageTextView.transform = CGAffineTransform(scaleX: 1, y: 1)  
        }, completion: nil)            
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    cardView.transform = CGAffineTransform(scaleX: 0, y: 0)
    messageTextView.transform = CGAffineTransform(scaleX: 0, y: 0)
}
Veröffentlicht am 07/11/2018 um 23:39
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Ich bin mir nicht sicher, ob die genaue Einstellung, zeigen so das Storyboard. Ich habe fügen Sie nicht die constrain aber setNeedsLayout vor Animation. Hoffe, dass es für Sie arbeitet.

Geben Sie hier image description

          override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        DispatchQueue.main.async {
            self.messageTextView.setNeedsLayout()
            UIView.animate(withDuration: 1, delay: 0.1, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.8, options: .curveEaseOut, animations: {
                self.cardView.transform = CGAffineTransform(scaleX: 1, y: 1)
                self.messageTextView.transform = CGAffineTransform(scaleX: 1, y: 1)
            }, completion: nil)
        }
    }

Geben Sie hier image description

Beantwortet am 08/11/2018 um 02:35
quelle vom benutzer

stimmen
0

Ich habe einen Test , und ich hatte Höhe und Breite Einschränkungen meiner hinzuzufügen UITextViews oder sie kollabieren die Größe Null und sind nicht sichtbar.

Beachten Sie auch, dass Sie einen kleinen Nicht-Null-Skalenwert wie 0,01 für Ihre geringe Größe eher als 0 ist, zumindest zum Schrumpfen eine Ansicht verwenden sollten. Wenn Sie versuchen, eine Ansicht, die Skala zu animieren bis auf Null verschwindet, anstatt zu schrumpfen.

Bearbeiten:

Ich habe auch versucht , Ihre Feder gedämpft Animation, und festgestellt , dass mit den Werten , usingSpringWithDamping: 0.7, initialSpringVelocity: 0.8dass Sie verwenden, die Federwirkung kaum spürbar ist. Wenn ich die Dämpfung auf 0,5 Zifferblatt, ist der Rückpralleffekt besser, aber wenn die Ansicht Schrumpfen Animieren Überhöhungen die Ansicht Skala 0 Skala und wächst wieder den Kopf leicht nach unten.

Beantwortet am 08/11/2018 um 00:38
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more