(Scale) Transformace animace na UITextView

hlasů
0

Mým cílem je vytvořit „bubble-up“ animaci, e-mailem UITextView, který je vnořen do UIViewkartou, kterou modálně.

I když se zobrazí karta, UITextViewnezdá to..is tam nějaké řešení tohoto? Níže je uveden kód Snažil jsem se tak daleko ...

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)
}
Položena 07/11/2018 v 23:39
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Nejsem si jistý, přesné nastavení, takže ukazují scénáře. Před animaci jsem nepřidali omezovat, ale setNeedsLayout. Doufám, že to funguje u vás.

zadejte popis obrázku zde

          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)
        }
    }

zadejte popis obrázku zde

Odpovězeno 08/11/2018 v 02:35
zdroj uživatelem

hlasů
0

Udělal jsem test a musel jsem přidat výšky a šířky překážek na mé UITextViewsa, že kolaps na nulovou velikost a nejsou viditelné.

Všimněte si také, že byste měli používat malou hodnotu měřítka nenulovou jako 0,01 za spíše než své malé velikosti 0, alespoň pro zmenšování zobrazení. Pokud se pokusíte oživit měřítko zaměřením je dole na nule zmizí spíše než zmenšuje.

Upravit:

Zkoušel jsem i vaše jarní tlumené animaci, a zjistili, že s hodnotami usingSpringWithDamping: 0.7, initialSpringVelocity: 0.8, které používáte, je pružina efekt je sotva znatelný. Mám-li vytočit tlumení až 0,5 se odrazí účinek je lepší, ale při oživování zmenšování zobrazení, měřítko pohledu překročí 0 váhu a roste zpět vzhůru nohama nepatrně.

Odpovězeno 08/11/2018 v 00:38
zdroj uživatelem

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