Compatibile con Xcode 7

Introduzione alle Animazioni delle UIView e delle StackView

ENTRA NEL NOSTRO GRUPPO FACEBOOK

×

Corso creare applicazioni per iOS con il linguaggio Swift

Anche se è un corso base e non è previsto un grande approfondimento in materia di animazioni, le quali richiederebbero un po' di conoscenze di matematica e fisica oltre ad essere un vero e proprio mondo, voglio comunque darti un assaggio di questo potentissimo strumento. Partiamo dalla definizione di animazione. Per animazione si intende un [...]

Torna a: Corso creare applicazioni per iOS con il linguaggio Swift > Le Stack View
  • Marco Piazza

    Solo questa lezione vale il costo del corso!!!!!!! grande peppe!!!!! ho dato una lettura molto veloce, con calma aprirò il mio Xcode e provo..
    Piano piano ci avviciniamo nel poter creare un app da soli…

    • Grazie mille Marco! Per me è un onore ricevere un commento del genere ;)

      Per qualsiasi cosa, fammi sapere!

  • nickbonny

    Ciao, avrei bisogno di fare di fare un’animazione di una label che quando premo un bottone trasla di un determinato spazio…e fin qui nessun problema! Però vorrei fare in modo che quando trasla fino alla fine poi tornasse indietro un pochino come se avesse un effetto rimbalzo contro la parete. Ho provato con il concat a dargli un animazione verso una direzione e poi una più piccola nella stessa direzione ma verso opposto ma non funziona. Come posso fare?

    • Ciao Nick,
      Le funzioni di trasformazione non applicano la posizione d’arrivo come nuova posizione dell’oggetto trasformato. Quindi la trasformazione successiva è come se ripartisse dal punto d’origine reale dell’oggetto.

      Cioè se trasli la view di 300 Points in X, comunque le sue coordinate d’origine si troveranno al punto di partenza.

      Quindi, dopo che esegui la prima traslazione dovresti ricalcolare le coordinate del centro della figura
      self.tuoOggetto.frame.origin.x += 300 // cioè sommi la stessa quantità di traslazione eseguita con la CGAffineTransform

      In questo modo la nuova trasformazione sarà applicata al nuovo punto d’origine.

      In alternativa puoi provare ad utilizzare i Behavior fisici che ho spiegato in questo tutorial https://www.xcoding.it/tutorial-uikit-in-swift-come-animare-la-propria-applicazione/

      Fammi sapere!

      • nickbonny

        Grazie mille dopo le provo entrambe!! Sempre un fulmine con le risposte…

        • Hahaha dipende da quanto sono impegnato oppure no :(
          Se dovessero esserci problemi, fammi sapere!

    • Questo è il codice d’esempio che ho utilizzo: http://paste.ofcode.org/V2595NP8yUXZ4MWN5EsE72

      Il codice anima una view creata da codice. Da notare come tutte le animazioni vengono eseguite in completion handler, cioè viene eseguita la prima animazione di traslazione, poi si attiva la closure di completamento e all’interno di questa parte l’animazione di rimbalzo sempre in completion handler.

  • Marcello Ruta

    swift 3 il metodo CGAffineTransformConcat è stato soppresso io non lo trovo ho riprodotto l’animazione nel seguente modo, copio e incollo lo snippet di code:

    @IBAction func concat_handler(_ sender: UIButton) {

    UIView.animate(withDuration: 1, animations: {
    sender.transform = CGAffineTransform(scaleX: 1.5, y: 1.5).translatedBy(x: 0, y: -100)
    }) { (Bool) in
    UIView.animate(withDuration: 1, animations: {
    sender.transform = CGAffineTransform.identity
    })
    }
    }

    ho concatenato le animazioni attraverso la sintassi del punto con il metodo translatedBy() che accetta due argomenti.

Start typing and press Enter to search