Chiudi il Menu
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte iSpazio
  • iOS 26
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Offerte iSpazio
  • Wallpapers Central
  • Teslers
Scarica l'App
  • Offerte
  • Sfondi
  • Guide
    • Personalizzazione
    • Video Guide TikTok
  • Recensioni
  • Downloads
    • Sfondi
    • Suonerie
    • Comandi Rapidi
    • Sfondi Personalizzati
    • Widget e Altro
    • iOS
    • iTunes
  • Dispositivi Apple
    1. iPhone
    2. iPad
    3. Mac
    4. Apple Watch
    5. iOS 26
    6. Vedi tutto

    Apple annuncia una settimana ricca di novità, sì parte da lunedì!

    27 Feb 2026

    iPhone e iPad ora certificati per gestire dati classificati NATO

    27 Feb 2026

    L’iPhone Pieghevole entra in produzione: svelate le misure della piega

    25 Feb 2026

    iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

    25 Feb 2026

    Apple annuncia una settimana ricca di novità, sì parte da lunedì!

    27 Feb 2026

    Apple prepara una settimana di annunci: in arrivo nuovi iPhone, iPad e Mac

    18 Feb 2026

    iPad Pro resterà praticamente invariato per anni, Apple rallenta gli aggiornamenti

    17 Feb 2026

    La barra compatta di Safari fa il suo ritorno su macOS 26.4 e iPadOS 26.4

    17 Feb 2026

    Apple annuncia una settimana ricca di novità, sì parte da lunedì!

    27 Feb 2026

    MacBook economico, sì. Ma quanti compromessi

    26 Feb 2026

    I Mac sono eccellenti, ma macOS 26 è un disastro: bocciatura dagli esperti

    26 Feb 2026

    Emergono nuovi dettagli sul MacBook economico prima dell’Apple Experience

    26 Feb 2026

    Quasi uno smartwatch su quattro nel 2025 era un Apple Watch

    27 Feb 2026

    Apple rilascia macOS Tahoe 26.3, watchOS 26.3 e tvOS 26.3

    11 Feb 2026

    Apple lancia la sfida del Mese del Cuore 2026 su Apple Watch

    11 Feb 2026

    Apple rilascia watchOS 11.6.2 con una correzione importante

    6 Feb 2026

    Xiaomi presenta Xiaomi 17, Xiaomi17 Ultra e Leica Leitzphone

    28 Feb 2026

    Apple accetta di pagare il doppio la RAM Samsung per iPhone 17

    27 Feb 2026

    Apple rilascia visionOS 26.3.1 con un fix per l’app Apple TV

    27 Feb 2026

    Quasi uno smartwatch su quattro nel 2025 era un Apple Watch

    27 Feb 2026

    Xiaomi presenta Xiaomi 17, Xiaomi17 Ultra e Leica Leitzphone

    28 Feb 2026

    Apple accetta di pagare il doppio la RAM Samsung per iPhone 17

    27 Feb 2026

    Apple rilascia visionOS 26.3.1 con un fix per l’app Apple TV

    27 Feb 2026

    Quasi uno smartwatch su quattro nel 2025 era un Apple Watch

    27 Feb 2026
  • iPhone 17
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon

iSpazio CountRotateApp – iSpazio Developer Program #4

Andrea BusiDi Andrea Busi19 Set 2008Commenta7 min di lettura
Condividi Facebook Twitter Telegram WhatsApp Copia Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copia Link
In qualità di Affiliato Amazon, iSpazio riceve una commissione dagli acquisti idonei senza alcun costo per voi. (info).
Icona Cerchi Prodotti Apple ed accessori Tech in sconto?

Cerchi Prodotti Apple ed accessori Tech in sconto?

Segui il nostro canale @scontiamolo su Telegram!

Advertising

Eccoci al quarto tutorial dell’iSpazio Developer Program. Nella scorsa puntata ci siamo occupati della gestione delle immagini, di come muoverle e come creare un’animazione con esse. Oggi, invece, vedremo come implementare un’aspetto più comune, ovvero quello di realizzare una barra posta nella parte bassa dell’applicazione, che abbia dei pulsanti che compiano una determinata azione. Nel nostro caso questi due bottoni ci permetteranno di incrementare e decrementare un contatore posto al centro della schermata. Vedremo, infine, come implementare una funzione tanto gradia dell’iPhone/iPod Touch: l’autorotazione dello schermo.

TUTORIAL:

  1. Creiamo un nuovo progetto
  2. Creare l’interfaccia grafica dell’applicazione
  3. Creiamo le classi necessarie
  4. Aggiungiamo la rotazione automatica
  5. Facciamo funzionare i bottoni della barra!

1. Creiamo un nuovo progetto

Aprimo Xcode, selezioniamo “File -> New Project”. Nel menù che ci appare selezioniamo “ViewBased Application”, clicchiamo su “Choose…” e immettiamo come nome “CountRotateApp” e fate clic su “Save”. Abbiamo così creato il nostro nuovo progetto.

Prima di fare qualsiasi altra operazione, selezioniamo nell’editor Xcode la cartella “Resources” del nostro progetto ed eliminiamo il file “CountRotateAppViewController.xib”. Basterà cliccare con il tasto destro sul file, selezionare “Delete” e poi cliccare su “Also move to Trash”.

2. Creare l’interfaccia grafica dell’applicazione

Una volta eseguite queste semplici operazioni, andiamo a creare l’interfaccia grafica della nostra applicazione. Facciamo doppio click sul file “MainWindow.xib”, si aprirà così l’Interface Builder, con cui ormai abbiamo già preso conoscenza.
Selezioniamo la vista della nostra applcazione, e apriamo l’Attribute Inspector. Nel campo “NIB Name” eliminiamo la voce “CountRotateAppViewController” (semplicemente cancellando il testo), ovvero il file che abbiamo cancellato in precedenza.

Se premiamo poi invio e torniamo a selezionare la vista vedremo che essa ha mutato la scritta centrale, ed ora apparirà così:

Ora, dalla libreria (“Tools -> Library”) selezioniamo un componente di tipo “View” e trasciniamolo nella nostra applicazione. Andiamo poi in “Identity Inspector” e in Class scriviamo “MainView”.

Abbiamo creato la vista principale della nostra applicazione che, se vogliamo, possiamo personalizzare a nostro piacere (ad esempio impostando un colore di sfondo diverso dal classico bianco).

Sempre dalla libreria selezioniamo un componente “Toolbar” e trasciniamolo nella parte bassa della nostra vista. Dopo averlo trascinato facciamo doppio click sul bottone già presente, e modifichiamo il testo in “Sottrai”. Sempre dalla libreria selezioniamo un “Bar Button Item” e trasciniamolo all’interno della barra che abbiamo appena creato. Questa volta dobbiamo invece che settare solamente il nome, lo associamo ad un’identificatore già presente nell’Interface Builder. Andiamo, quindi, in Attribute Inspector e nel campo “Identifier” selezioniamo “Add”.

Noteremo subito che nel nostro bottone comparirà il simbolo “+”.

Dopo questi semplici step avremo un’applicazione che si presenterà così:

Proviamo a spostare il bottone “+” a destra. Esso ritornerà sempre nella sua posizione originale. Nostro errore? No. Come facciamo allora a spostarlo a destra? Semplice, aggiungiamo un componente “Flexible Space Bar Button Item”, che troviamo sempre nella libreria, e che ha proprio il compito di creare uno spazio tra i bottoni della barra. Aggiungiamolo tra i due bottoni ed otterremo una schermata come questa:

Questo componente ha una grossa utilità: non solo ci separa i due bottoni, ma ci permette di non doverci occupare della giusta distanza tra essi, anche nel caso che ne aggiungessimo un terzo. Inoltre esso ci permette di tenere i due bottoni alle estremità della barra anche nel caso in cui ruotassimo la nostra applicazione. Come facciamo a testarlo? Semplice. Cliccate sulla freccetta presente nel titolo della finestra della nostra applicazione:

Vedrete che la schermata ruoterà!

E come possiamo notare i due bottoni restano agli estremi della nostra barra. Proprio il risultato che volevamo.

Prendiamo ora una label, e inseriamola nella nostra vista, partendo da un angolo in alto a sinistra, per poi ingrandirla fino all’angolo opposto. In Attribute Inspector settate i seguenti parametri: “Text”: 0, allineamento centrale, e “Font Size” a 200. Dovreste avere il seguente risultato:

Proviamo ora a far ruotare la schermata come abbiamo fatto poco fa. Noteremo che lo zero non rimane in posizione centrale, ma addirittura esce dalla schermata dell’applicazione. Come facciamo a lasciarlo centrato? Anche qui ci viene in aiuto l’Interface Builder, che offre grandi potenzialità anche in questo aspetto.
Selezioniamo la label che contiene lo zero e apriamo il “Size Inspector”. Nella seconda parte possiamo vedere che vi è una sezione denominata “Autosizing”. Clicchiamo sulle due freccette rosse che vediamo nel riquadro piccolo, in modo da avere questo schema:

Proviamo ora a ruotare la nostra applicazione: lo zero resterà perfettamente in posizione centrale!

3. Creiamo le classi necessarie

Fino ad ora ci siamo occupati puramente degli aspetti grafici della nostra applicazione. Vediamo ora di aggiungere i controlli che ci serviranno.

Restiamo sempre nell’Interface Builder, e assicuriamoci di aver selezionato la vista principale. Andiamo nell’Identity Inspector, e aggiungiamo le due classi e le due azioni che ci occorrono. Facciamolo nella seguente maniera:

Ora dobbiamo collegare queste azioni che abbiamo creato agli oggetti veri e propri. Entriamo nella scheda “Connections”, trasciniamo il pallino a fianco di “label” sulla label contenente lo zero, e “toolBar” sulla barra. Dovremmo avere le proprietà così impostate:

Adesso dobbiamo collegare le azioni ai due bottoni presenti nella barra. Iniziamo con il bottone “+” (Aggiungi). Anche per questo ci basterà trascinare l’azione “add” sul bottone corrispondente:

Dobbiamo, quindi, impostare l’azione sul bottone “Sottrai”. Questa volta la procedura è leggermente diversa. Clicchiamo sul bottone, ed entriamo ancora nel pannello “Connections”. Questa volta vedremo l’azione “selector”, trasciniamola sulla vista principale (non potremo fare in altro modo). Apparirà questo piccolo menù:

Clicchiamo ovviamente su “subtract”. Avremo così collegato anche questa azione. Nel pannello Connections dovreste avere questo risultato:

Ora non ci resta che salvare le proprietà che abbiamo appena impostato in un file di classe. Andiamo nel menù “File -> Write Class Files…” e salviamo la classe “MainView” nella cartella Classes del nostro progetto.

Clicchiamo su “Save” e nella schermata successiva selezioniamo il nostro progetto prima di cliccare su “Add”.

Possiamo ora chiudere l’Interface Builder cliccando su “Save” nell’avviso che ci comparirà.

4. Aggiungiamo la rotazione automatica

Ora passiamo alla scrittura del codice in Xcode. Iniziamo spostando i due file (“MainView.m” e “MainView.h”) all’interno della cartella “Classes”:

Apriamo ora il file “MainView.h” e modifichiamo la riga di intestazione del metodo nel seguente modo:

Se proviamo ora a compilare l’applicazione e ad eseguirla noteremo che essa non fa nessuna delle azioni che vorremmo: non incrementa il contatore, non si ruota se ruotiamo l’iPhone. Dobbiamo quindi aggiungere tutte queste funzionalità.

Apriamo il file “CountRotateAppViewController.m” e impostiamo il metodo che permetterà alla nostra applicazione di ruotare quando viene ruotato il dispositivo. Dobbiamo modificare il metodo “shouldAutorotateToInterfaceOrientation” nel seguente modo:

Semplicemente impostiamo “YES” come valore di ritorno di questo metodo; è lo stesso commento presnte nel metodo a dirci di ritornare questo valore per abilitare l’autorientazione della nostra applicazione.
Clicchiamo ora su “Build and Go” e testiamo quello che abbiamo appena fatto. Nel Simulatore andiamo nel menù Hardware e selezioniamo “Ruota a sinistra” (o a destra, a vostro piacimento). La nostra applicazione ruoterà proprio come desiderato!

5. Facciamo funzionare i bottoni della barra!

Abbiamo quasi completato la nostra applicazione, manca solo.. la parte più importante! Dobbiamo, quindi, far funzionare i due bottoni presenti sulla barra, permettendogli di incrementare e decrementare il contatore.

Apriamo il file “MainView.h” e iniziamo con il dichiarare una variabile che conterrà il numero che poi noi andremo ad incrementare e a decrementare, e che verrà visualizzato. Dobbiamo quindi scrivere il seguente codice:

Qui non c’è bisogno di spiegazioni, possiamo facilmente capire che dichiariamo una variabile di tipo intero e la chiamiamo “numero”.

Apriamo ora il file “MainView.m” e scriviamo il seguente codice:

Il primo metodo, “awakeFromNib” viene chiamato all’avvio dell’applicazione, e azzera il valore della variabile numero. I due metodi, “add” e “subtract” fanno le stesse operazioni (con la sola differenza dell’operazione che compiono), ovvero prima incrementano (o decrementano) il valore della variabile numero, e poi la settano nella label predisposta per questo compito.

Clicchiamo su “Build and Go” e salviamo i file. Abbiamo così creato la nostra applicazione!!

Ecco due screen di come appare finita e funzionante:

Se Avete Problemi, questo è il nostro file di progetto.

La guida è stata creata in italiano da Andrea Busi per iSpazio.net. Trovare il video tutorial originale a questo indirizzo: “UIToolbar and AutoRotation” – iPhone Development Central. I meriti quindi relativamente alla versione inglese, sono del legittimo autore.

Sai che siamo anche su Telegram? Unisciti al nostro canale iSpazio per ricevere le notifiche oppure Apple Italia per chattare con altri utenti. Scopri i migliori prodotti Tech in sconto su Amazon con il nostro canale OFFERTE iSpazio.
Icona dell'applicazione Le Migliori Offerte Amazon disponibile su App Store

Le Migliori Offerte Amazon

Selezionate dalla redazione di iSpazio
GUARDALE LIVE  
  • Filtra:
  • Tutte
  • Apple
  • Minimo Storico
  • Alimentari e cura della casa
  • Casa e cucina
  • Grandi elettrodomestici
  • Informatica
  • Prodotti per animali domestici
  • Salute e cura della persona
  • Videogiochi
31%
SHAN ZU Pietra Affilacoltelli, 1000, 6000 Grana Giapponese Pietra per Affilare Coltelli, 2-in-1 Pietra Affilatura Professionale con Guida Angolare & Supporto in Silicone Antiscivolo
09:06
SHAN ZU Pietra Affilacoltelli, 1000, 6000 Grana Giapponese Pietra per Affilare Coltelli, 2-in-1 Pietra Affilatura Professionale con Guida Angolare & Supporto in Silicone Antiscivolo35,99€24,70€
34%  
YASHE Macchina Sottovuoto Alimenti con Modalità Secco e Umido, Macchina Sottovuoto Multifunzione 5 in 1 Sigillatrice per Cottura Sous Vide e Conservare Carne, Pesce, Frutta e Verdura
09:02
YASHE Macchina Sottovuoto Alimenti con Modalità Secco e Umido, Macchina Sottovuoto Multifunzione 5 in 1 Sigillatrice per Cottura Sous Vide e Conservare Carne, Pesce, Frutta e Verdura34,99€23,16€
38%
Electrolux Serie 300 Piano Cottura a Induzione da Incasso EIB60424CK, 4 Fuochi Rapidi, Comandi SliderTouch, Sicuro e Facile da Pulire, 60 cm, 590×520 mm, Nero, Design Moderno
08:57
Electrolux Serie 300 Piano Cottura a Induzione da Incasso EIB60424CK, 4 Fuochi Rapidi, Comandi SliderTouch, Sicuro e Facile da Pulire, 60 cm, 590×520 mm, Nero, Design Moderno399,99€249,00€
52%  
Pompadour, Infuso Vaniglia e Lampone, 60 Filtri (3 Confezioni da 20 Filtri), Dolce e Fruttato, Piace anche ai Bambini, Senza Lattosio, Glutine e Allergeni, Vegan
08:51
Pompadour, Infuso Vaniglia e Lampone, 60 Filtri (3 Confezioni da 20 Filtri), Dolce e Fruttato, Piace anche ai Bambini, Senza Lattosio, Glutine e Allergeni, Vegan15,00€7,17€
50%  
KITKAT Cereali Integrali Gusto Cioccolato e Wafer 330g
08:47
KITKAT Cereali Integrali Gusto Cioccolato e Wafer 330g3,99€1,99€
45%
Swiffer Panni Cattura Polvere, 216 Panni Microfibra Dry, Cattura Polvere e Sporco, Ottimo per Tutti i Tipi di Pavimenti e per i Peli di Animali, Giga Formato
08:41
Swiffer Panni Cattura Polvere, 216 Panni Microfibra Dry, Cattura Polvere e Sporco, Ottimo per Tutti i Tipi di Pavimenti e per i Peli di Animali, Giga Formato54,99€29,99€
47%  
Fairy Platinum Detersivo Pastiglie Lavastoviglie Plus Complete, Brillantante, 125 Capsule, Limone, Tecnologia Anti-Opaco, Contro Il Grasso e le Incrostazioni Ostinate Anche Nei Cicli Brevi
08:36
Fairy Platinum Detersivo Pastiglie Lavastoviglie Plus Complete, Brillantante, 125 Capsule, Limone, Tecnologia Anti-Opaco, Contro Il Grasso e le Incrostazioni Ostinate Anche Nei Cicli Brevi45,99€24,29€
30%
G3 Ferrari G20163 Tritatutto Vetromix, 500W, Bicchiere in Vetro, 500 ml, Funzionamento Pulse, Silenzioso, Lame INOX, Trita Carne, Verdure, Frutta, Bianco
08:32
G3 Ferrari G20163 Tritatutto Vetromix, 500W, Bicchiere in Vetro, 500 ml, Funzionamento Pulse, Silenzioso, Lame INOX, Trita Carne, Verdure, Frutta, Bianco32,90€22,99€
40%  
WoodWick Candela profumata Ellispe con stoppino crepitante | Lavender & Cedar | Durata della fragranza: fino a 50 ore
08:21
WoodWick Candela profumata Ellispe con stoppino crepitante | Lavender & Cedar | Durata della fragranza: fino a 50 ore39,90€23,92€
50%  
Trust Gaming GXT 488 Forze-G Cuffie PS4 e PS5 con Licenza Ufficiale PlayStation, Over-Ear, Microfono Ripiegabile e Archetto Regolabile, Jack Audio 3.5 mm, Cuffie Gaming Cablate – Grigio
08:16
Trust Gaming GXT 488 Forze-G Cuffie PS4 e PS5 con Licenza Ufficiale PlayStation, Over-Ear, Microfono Ripiegabile e Archetto Regolabile, Jack Audio 3.5 mm, Cuffie Gaming Cablate – Grigio49,99€24,99€
30%
CLOUVOU BrightSeat Sedia ufficio ergonomica (TOP DI GAMMA) Sedia da scrivania per smart working | Poltrona ufficio per studio e camera | Sedia ufficio con ruote facile da spostare | Max. 150 kg
08:11
CLOUVOU BrightSeat Sedia ufficio ergonomica (TOP DI GAMMA) Sedia da scrivania per smart working | Poltrona ufficio per studio e camera | Sedia ufficio con ruote facile da spostare | Max. 150 kg219,99€152,99€
39%
Scottex Quanto Basta, Carta Cucina, Opzione Mezzo Strappo, Con Carta certificata FSC, Confezione da 6 Maxi Rotoli
08:07
Scottex Quanto Basta, Carta Cucina, Opzione Mezzo Strappo, Con Carta certificata FSC, Confezione da 6 Maxi Rotoli10,36€6,34€
10%
Apple iPad con chip A16: display Liquid Retina da 11”, 128 GB, Wi Fi 6, fotocamera frontale e posteriore da 12MP, Touch ID, autonomia di un giorno intero di batteria — Azzurro
08:04
Apple iPad con chip A16: display Liquid Retina da 11”, 128 GB, Wi Fi 6, fotocamera frontale e posteriore da 12MP, Touch ID, autonomia di un giorno intero di batteria — Azzurro389,00€349,00€
47%  
Meowant Lettiera per Gatti in Acciaio Inox, 85L Lettiera Gatto Chiusa XXL con Paletta e Tappetino, Deodorante, Rimovibile 60 x 40 x 60 cm Toilette per Più Gatti
08:01
Meowant Lettiera per Gatti in Acciaio Inox, 85L Lettiera Gatto Chiusa XXL con Paletta e Tappetino, Deodorante, Rimovibile 60 x 40 x 60 cm Toilette per Più Gatti124,99€66,49€

Scarica la nostra app e leggi le notizie in mobilità. Porta iSpazio sempre con te, anche su Telegram.
| Applicazione iOS
Con l'applicazione ufficiale di iSpazio resterai sempre aggiornato sulle notizie Apple, video tutorial per iPhone e tanto altro. riceverai una notifica per ogni nuovo articolo. Puoi utilizzare anche i Widget per tenere le novità sott'occhio nella Home o nella Lockscreen.
Scaricala subito!
| Canale Telegram 10.700+ Utenti
Su Telegram invece, segnaliamo soltanto le notizie più importanti ed urgenti oppure i nostri nuovi video su YouTube. E' un canale molto interessante, assolutamente non invasivo perchè non inviamo troppe push, e vi consigliamo di seguirci anche lì.
Unisciti a noi!
ispazio notifiche
Seguici su Google News
Condividi Facebook Twitter Telegram WhatsApp Threads Email Copia Link
Articolo precedenteTouch Ghosts 1.0
Articolo successivo WritingPad torna in AppStore!

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

Apple annuncia una settimana ricca di novità, sì parte da lunedì!

27 Feb 2026

Apple prepara il MacBook Pro M6 con display touch ed isola dinamica: è il rumor del secolo!

25 Feb 2026

Wallpapers Central si aggiorna: tornano i LIVE Wallpapers e tantissime altre novità!

24 Feb 2026

iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

24 Feb 2026

Gli articoli più letti

Xiaomi presenta Xiaomi 17, Xiaomi17 Ultra e Leica Leitzphone

Apple accetta di pagare il doppio la RAM Samsung per iPhone 17

Info su iSpazio
Info su iSpazio

iSpazio è il punto di riferimento italiano per tutti gli appassionati Apple. Dal 2007, sul nostro sito trovi notizie, recensioni e guide per imparare ad utilizzare al meglio iOS, l'iPhone e tutti gli altri dispostivi dell'azienda.

Contattaci
Pubblicità

Il Network
Il Network

L'esperienza maturata su iSpazio ci ha portati, con il tempo, a realizzare altri progetti ed aprire nuovi siti con tematiche strettamente correlate al nostro Blog principale.

Oggi, siamo i fieri proprietari di un Network composto da: iSpazio, Scontiamolo, Wallpapers Central e Teslers.

Link Rapidi
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su
© Copyright 2026 iSpazio SRL | Partita IVA: 10137091210
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su

Scrivi quello che vuoi cercare e premi Invio.