Esercizi Auto Layout parte 1

ENTRA NEL NOSTRO GRUPPO FACEBOOK

×

Corso creare applicazioni per iOS con il linguaggio Swift

L'Auto Layout s'apprende solo con la pratica. In questa lezione non introdurrò elementi nuovi sull'auto layout. Bensì ti farò vedere come applicare quello che hai fatto nella lezione precedente sul progetto dell'esercitazione del precedente modulo. Ti ricordo che trovi il download dei seguenti esercizi risolti nella pagina di Dropbox condivisa con gli studenti. MOD1 Esercizio 1 - [...]

Torna a: Corso creare applicazioni per iOS con il linguaggio Swift > I Principi dell'Auto Layout
  • Francesco

    Ciao Peppe,

    scusa ma non ho capito bene perchè devo inserire il codice nel quiz.

    • Ciao Francesco,

      Dato che ancora non ho pubblicato le altre lezioni ho messo questo blocco onde evitare che il sistema vi facesse completare il corso a questo punto. Una volta che metto le altre lezioni vi scrivo il codice direttamente nella domanda e vi basterà copiarlo ed incollarlo per andare avanti.

  • Arrivaanoooo!

  • Salvatore Rubera

    Ottime spiegazioni dell’Auto layout. Finalmente qualcosa di serio in circolazione :))))

    • Grazie Salvo,
      Tra poco pubblico le altre due ;)

      Inviato da iPhone

  • Francesco

    Ciao,

    scusate io sono riuscito a fare l’esercizio 2 quello del modulo registrazione ma sto facendo delle prove e non riesco proprio…
    la label status invece che al centro sto provando ad averla allignata a sinistra o meglio orizzontalmente vorrei vederla poco prima delle Textfield

    qualcuno mi sa dare qualche suggerimento?

    • Ciao Francesco,
      Non ho capito bene dove vorresti metterla. In caso apri un topic sul forum e metti l’immagine dello storyboard in cui fai vedere dove vuoi spostare e vincolare l’oggetto così ti aiuto meglio a scegliere il vincolo corretto.

  • Marco

    ufffffffff….. sto sudando! complicatissimo !!!!!!!!!!!!!

    • Dici sul serio?
      In cosa hai avuto problemi e difficoltà?

  • Salvo

    ciao peppe il fix layout dell’esercizio 2 ha un problema con il modello a 3,5″, scompare la label e inoltre con i parametri impostati da te nell’esempio in posizione landscape non è possibile visualizzare tutti i campi (label, textfield e button), queste impostazioni sono valide solo in posizione portrait, in questo caso nell’impostazione del device orientation dovrei impostare solo portrait!

    • Ciao Salvo,
      Non l’ho semplicemente considerata la versione landscape. Guarda le prossime lezioni dove do una risoluzione al problema.

  • Sophie Kyra

    Double(self.TextField_1.text!)
    non ho capito dove inserirlo… nella funzione del button?

    • Ciao Sophie,

      Si devi metterlo all’interno della IBAction del bottone in modo da calcolare l’età dell’utente.

      Fammi sapere se dovessi avere dei problemi,
      Giuseppe

      • Sophie Kyra

        Sto provando ad ottenere la somma ma continua a trattarli come string e me li mette uno vicino all’altro! Ancora grande difficoltà con le funzioni :( una volta visto il tuo esercizio svolto mi sembra così chiaro ma poi da sola nn ci arrivo! Qui nella funzione associata al pulsante somma ho messo:

        @IBAction func somma (sender: AnyObject) {
        DOuble(self.TextField_1.text!)
        DOuble(self.TextField_2.text!)
        LabelRis.text = self.TextField_2.text! + self.TextField_1.text!)
        }

        Se provo a mettere += mi da errore perché le considera stringhe!

        • Non ti preoccupare Sophie, è un problema normalissimo all’inizio.

          Se posso darti un consiglio, il problema sta tutto nel capire con cosa stai lavorando.

          La proprietà .text della Label è di tipo String. Quindi si presume che tu possa inserivi solo questa tipologia di dato.

          L’esercizio chiede di sommare i numeri inseriti nelle TextField e di riportarlo nella Label.

          Come si fa?

          Il problema è nella somma dei dati inseriti dall’utente. Dato che sono String, perché il campo text delle TextField gestisce solo questo, bisogna convertire le String in Double.

          Il codice scritto da te è corretto. Solamente che, l’operazione di conversione non si applica anche al reale contenuto delle textField.
          mi spiego meglio.

          Scrivere Double(self.textField_1.text!) non passa a Double il reale valore della textfield, bensì crea un nuovo oggetto Double contenente la conversione del testo in numero (qualora la conversione non generi un errore).

          Quindi devi salvare questo valore all’interno di una costante prima di poterlo ridare in pasto alla label (sotto forma di una nuova stringa).

          let numero_1 = Double(self.TextField_1.text!)
          let numero_2 = Double(self.TextField_2.text!)
          let risultato = numero_1 + numero_2

          LabelRis.text = String(risultato) // oppure puoi scrivere “(risultato)”

          Ad ogni modo devi pensare sempre al problema che ti si propone come al problema più semplice di questa tipologia.
          Infatti, se vuoi vederlo nel modo più semplice possibile (quindi senza textfield e label), il problema potrebbe essere facilmente tradotto con il seguente:

          Somma due variabili di tipo String che contengono un numero Double e riporta il risultato in una nuova variabile di tipo String.

          A questo punto avresti due variabili String che contengono un numero (che sarebbero l’equivalente delle tue textField):

          var stringaA = “2”
          var stringaB = “3”

          Da qui si procederebbe come sopra…

          Spero di essere stato chiaro, in caso fammi sapere e non preoccuparti di fare domande (quello che può sembrarti banale o poco chiaro adesso, più in là potrebbe bloccarti definitivamente)

          Alla prossima e buona programmazione,
          Giuseppe Sapienza

          • Sophie Kyra

            Grazie mille! Ho capito! E cercherò di seguire il tuo consiglio e semplificare sempre al massimo!

Start typing and press Enter to search

esercizio-fine-primo-modulo-corso-iosauto-layout-in-xcode-la-guida-definitiva