Close Menu
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte
  • iOS 18
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Scontiamolo
  • Wallpapers Central
  • Teslers
Scarica l'App
  • W W D C 2 5
  • Offerte
  • 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. View All

    iPhone 16e entra nella Top 10 in Europa, ma non convince come gli SE

    3 Giu 2025

    WhatsApp interrompe il supporto per alcuni modelli di iPhone

    3 Giu 2025

    iPhone 17 e 17 Air con schermo a 120Hz, ma senza ProMotion | Rumor

    3 Giu 2025

    iPhone 17 delude già prima del lancio: ancora un chip A18 e solo 8GB di RAM

    2 Giu 2025

    iPadOS 26 apre la strada all’iPad gigante: tutto ruota intorno al nuovo modello pieghevole

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    iPadOS 26 migliora il multitasking con le applicazioni che diventano finestre in stile desktop

    10 Giu 2025

    iPadOS 26 rivoluzionerà il multitasking su iPad

    8 Giu 2025

    Apple migliora l’AutoFill dei codici di verifica su iOS 26 e macOS Tahoe

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    Apple presenta macOS Tahoe 26 che rende il Mac più versatile, produttivo ed intelligente che mai

    10 Giu 2025

    macOS 26 potrebbe chiamarsi “macOS Tahoe” | Rumor

    2 Giu 2025

    watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

    12 Giu 2025

    iOS 26 introduce le Notifiche per il Meteo estremamente avverso e widget dedicati per le tue prossime destinazioni

    11 Giu 2025

    Apple rimuove 5 quadranti da Apple Watch con l’arrivo di watchOS 26: ecco a quali dovremo dire addio

    11 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    CarPlay si rinnova con iOS 26: Ecco tutte le 9 novità in arrivo tra nuovo design, widget, video in sosta ed altro

    14 Giu 2025

    tvOS 26 ed iOS 26 offrono la funzione di Login Automatico per le applicazioni su Apple TV

    14 Giu 2025

    Problemi di spazio in memoria per gestire gli aggiornamenti software automatici? iOS 26 pensa anche a questo!

    14 Giu 2025

    Apple apre ai codici promozionali per tutti gli acquisti in-app, non solo abbonamenti

    14 Giu 2025

    CarPlay si rinnova con iOS 26: Ecco tutte le 9 novità in arrivo tra nuovo design, widget, video in sosta ed altro

    14 Giu 2025

    tvOS 26 ed iOS 26 offrono la funzione di Login Automatico per le applicazioni su Apple TV

    14 Giu 2025

    Problemi di spazio in memoria per gestire gli aggiornamenti software automatici? iOS 26 pensa anche a questo!

    14 Giu 2025

    Apple apre ai codici promozionali per tutti gli acquisti in-app, non solo abbonamenti

    14 Giu 2025
  • iPhone 16
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon
iPhone

iSpazio TrashApp – iSpazio Developer Program #3

Andrea BusiBy Andrea Busi5 Set 2008Commenta9 Mins Read
Condividi Facebook Twitter Telegram WhatsApp Copy Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copy Link
In qualità di Affiliato Amazon, iSpazio riceve un guadagno dagli acquisti idonei (info). Vedi le offerte su Telegram.
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 per un nuovo tutorial dell’iSpazio Developer Program.

Abbiamo notato con grande piacere che gli scorsi tutorial hanno avuto un buon successo, e molti utenti si sono cimentati nella programmazione dell’iPhone. Alcuni, giustamente, chiedevano maggiori spiegazioni, insomma, erano più orientati ad un vero e proprio corso. Il nostro obbiettivo, però, non è quello di fornire un corso preciso e dettagliato, perchè finiremmo solo con l’annoiare i più, che non lo leggerebbero nemmeno. Ecco perchè noi cerchiamo di proporre brevi esempi, carini, divertenti ma soprattutto concreti, per creare una piccola applicazione e fornire una panoramica generale sugli strumenti e sulle funzioni dell’iPhone SDK. Sta all’utente smaliziato e curioso andare a vedere la documentazione ufficiale (che non manca sul sito di Apple) e capire a fondo i meccanismi dell’SDK.
Se però molti di voi volessero qualche lezione più orientata sul lato0 teorico, fatelo presente nei commenti e vedremo di organizzare qualcosa. Dopo avervi annoiato con questa premessa, vediamo di iniziare il tutorial vero e proprio.

In questa “terza puntata” realizzeremo una’applicazione che ci darà un’infarinatura sulla gestione delle immagini. Vedremo, infatti, come creare un finto cestino, in cui potremo trascinare un documento, e da cui potremo ripristinare il file eliminato. Ovviamente non andremo a toccare veri file salvati sul nostro dispositivo, si tratterà di una semplice animazione.

TUTORIAL:

  1. Creiamo un nuovo progetto
  2. Aggiungiamo i componenti grafici
  3. Colleghiamo gli oggetti con le azioni
  4. Aggiungiamo la gestione dello spostamento del logo
  5. Implementiamo l’effetto “cancellazione”
  6. Aggiungiamo la funzione al tasto “Ripristina”

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 “TrashApp” e fate clic su “Save”. Abbiamo così creato il nostro nuovo progetto.

2. Aggiungiamo i componenti grafici

Nella cartella del progetto entrate in “Resources” e fate doppio clic sul file “MainWindow.xib”, si aprirà l’Interface Builder. Ora, aprite la Libreria (dal menù “Tools -> Library”), scegliete l’oggetto “View” e trascinatelo all’interno della vista della vostra applicazione. Dovreste avere una schermata come questa:

Ora dobbiamo sistemare le parti grafiche della nostra applicazione. Per prima cosa ci servono due immagini per il nostro cestino, una con il cestino vuoto e una con il cestino pieno. Eccovele, ovviamente in puro stile Mac (potete benissimo utilizzare altre immagini a vostro piacimento):

Ora ci serve un qualcosa da eliminare. Un foglio, un documento o, visto che siamo in ambiente Mac.. un logo di Windows!! Eccovi quindi il file in questione:

Dobbiamo, adesso, assemblare il tutto all’interno della nostra applicazione. Salvate le immagini che vi abbiamo postato e copiatele all’interno della cartella del vostro progetto. Avrete quindi una cartella così composta:

Ora, tenendo aperta la finestra del Finder, trascinate le tre immagini nel vostro progetto in Xcode, vi apparirà la seguente finestra:

Fate click su “Add”, assicurandovi che ci sia la spunta accando al progetto “TrashApp”. Vedrete così le tre immagini comparire nel vostro progetto.
Tornate ora in Interface Builder e aggiungete alla vostra vista due componenti “UIImageView” e un “Round Rect Button”, in modo da avere un layout simile a questo:

ATTENZIONE: assicuratevi che la prima UIImageView che inserite vada nella posizione in basso, altrimenti avrete dei problemi nelle fasi successive del tutorial.

Ora dobbiamo collegare i vari componenti alle immagini che abbiamo appena scaricato. Clicchiamo sul primo componente UIImageView (quello più in alto, ma il secondo che avete inserito!), apriamo il pannello “Attributes Inspector” dal menu “Tools”. Nel menù a tendina “Images” selezioniamo il file “windows icon.png”, e lo vedremo comparire anche nell’applicazione. Spuntiamo, inoltre, la casella “User Interaction Enabled”. Avremo un pannello così impostato:

Facciamo la stessa cosa per la UIImageView sottostante, selezionando come immagine “TrashIconEmpty.png”, ma senza spuntare “User Interaction Enabled”.
Inseriamo all’interno del bottone la scritta “Ripristina”, aggiustiamo le dimensioni e la posizione delle due immagini fino ad avere un risultato come questo:

3. Colleghiamo gli oggetti con le azioni

Per ora non abbiamo definito nessuna azione, ci siamo limitati ad aggiungere i componenti grafici che ci serviranno. Vediamo di colmare queste lacune.

Sempre in Interface Builder cliccate sullo sfondo dell’applicazione, e dalla finestra “Attribute Inspector” entrate nella sezione “View Identity”.
Nel campo “Class” scrivete “MainView”, nella sezione “Class Outlets” fate due clic sul pulsante “+” per aggiungere due elementi. Il primo rinominatelo in “paperView”, il secondo in “trashView”, e in entrambi i tipi inserite “UIImageView”. Cliccate, poi, sul “+” della sezione “Class Actions”, rinominando il nuovo elemento in “restore:”.
Dovreste avere, quindi, una schermata come questa:

Ora dobbiamo connettere gli elementi con le azioni appena create. Andiamo nella scheda “Connections” (sempre in “Attribute Inspector”), vedremo i due elementi (paperView e trashView) che abbiamo appena creato. Clicchiamo sul pallino che troviamo a fianco e trasciniamo paperView sul logo di Windows, mentre trashView sull’immagine del cestino. Dovremmo avere questo risultato:

Clicchiamo, ora, sul pulsante della nostra applicazione, e, sempre in “Attribute Inspector” andiamo ancora nella sezione “Connections”. Troviamo la voce “Touch Up Inside” e trasciniamo il pallino sullo sfondo della nostra applicazione. Si aprirà questo piccolo menù:

clicchiamoci e vedremo che verrà creata la connessione.

Salviamo il tutto dal menù “File -> Save”. Controlliamo che la classe “Main View” sia selezionata, facendo clic sullo sfondo dell’applicazione e, nella scheda Identity, assicuriamoci di vedere “Main View” dove lo abbiamo scritto noi in precedenza.

Ora dobbiamo salvare questa classe nel nostro progetto. Dal menù “File” selezioniamo “Write Class Files”. Si aprirà una finestra in cui dovremo selezionare il percorso del nostro progetto, poi la cartella “Classes” e infine fare clic su “Save”.

Nella schermata che apparirà subito dopo selezioniamo il nostro progetto “TrashApp” e poi clicchiamo su “Add”.

Ora possiamo chiudere l’Interface Builder e tornare ad Xcode.

4. Aggiungiamo la gestione dello spostamento del logo

Vedremo che la classe “Main View” che abbiamo appena salvato è presente nel progetto. Prendiamo i due file (uno con estensione “.h”, l’altro “.m”) e trasciniamoli nella sottocartella Classes.

Adesso inziamo a inserire un po’ di codice. Entrate nel file “MainView.h” e rendetelo così:

Ora apriamo il file “MainView.m”. Dobbiamo implementare la funzione che gestirà l’applicazione quando l’utente toccherà il logo di Windows che vorrà eliminare. Per fare ciò dobbiamo implementare il metodo “touchesMoved”. Per chi volesse vedere la documentazione ufficiale, non deve far altro che andare nel menù “Help -> Documentation” e cercare il metodo appena presentato.
Dovremo aggiungere, inoltre, il metodo “touchesEnded”. Il codice sarà quindi così fatto:

Cosa facciamo con il primo metodo? Semplice. Salviamo nella variabile “touch” l’evento che l’utente compie toccando un qualsiasi oggetto della nostra applicazione. Controlliamo, poi, che l’oggetto toccato corrisponda a “paperView”, cioè al logo di Windows: se l’oggetto è proprio quello, teniamo il centro dell’oggetto (che nel frattempo viene mosso dall’utente) con la posizione del dito sullo schermo. Ovvero, è come se spostassimo fisicamente l’oggetto con il nostro dito e lo muovessimo su un piano.

Proviamo a cliccare su “Build and Go”: l’applicazione partirà e noi potremo trascinare per tutto lo schermo il logo di Windows. Come possiamo subito notare, se passiamo il logo sopra il cestino non succede niente, così come il pulsante “Ripristina” non ha nessun effetto. Vediamo di aggiungere, quindi, le funzionalità mancanti.

5. Implementiamo l’effetto “cancellazione”

Dobbiamo, ora, aggiungere una funzione che permetta di eliminare il logo di Windows quando esso passa sopra il cestino. Iniziamo scrivendo il seguente codice nel file “MainView.m” (dobbiamo aggiungere il codice al metodo che abbiamo creato in precedenza):

In questo metodo diciamo semplicemene che se il frame di paperView (ovvero il logo di Windows) è contenuto in quello del cestino, deve essere chiamato il metodo throwAway. Prima di chimaare tale metodo, inoltre, cambiamo l’immagine del cestino vuoto con quella del cestino pieno (caricandola dal file “TrashIconFull.png”).
Dobbiamo, quindi, definire proprio questo metodo. Aggiungiamo la dichiarazione nel file “MainView.h” nel seguente modo:

Ora ritorniamo nel file “MainView.m” e scriviamo la seguente implementazione del metodo:

In questo codice definiamo l’animazione che avrà il logo di Windows quando verrà sposato sopra il cestino, ovvero scomparirà.

Ora dobbiamo solo aggiungere un framework al nostro progetto, altrimenti otteremo due errorei in fase di compilazione. Per fare cio, cliccate con il tasto destro (oppure Ctrl + click) sulla cartella “Frameworks” del progetto, e ciccate su “Add -> Existing Frameworks”

Nella finestra che vi si apre, navigate fino a questo percorso:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/System/Library/Frameworks

Quando arrivate in quella cartella selezionate “CoreGraphics.framework” e cliccate su “Add”. Nella finestra successiva assicuratevi di spuntare il progetto in cui siamo lavorando:

Ora clicchiamo su “Build and Go” e proviamo la nostra applicazione. Se trasciniamo il logo di Windows sul cestino esso scompare!
Nota: se non avete questa animazione, controllate due cose. La prima è che il logo di Windows non si nasconda dietro il cestino. Se così fosse, non avete seguito quello che vi ho detto nella costruzione dell’Interfaccia!! Ma non ndisperate, vi basterà entrare in Interface Builder e scambiare l’ordine dei due componenti (ovviamente invertendo anche le immagini e le proprietà associate). La seconda, invece, che la dimesione del logo (sempre in Interface Builder) e del componente UIImageView non sia maggiore di quella del cestino, altrimenti il controllo che abbiamo scritto nel metodo “touchesEnded” fallisce e non viene lanciata l’animazione. Anche in questo caso ci basta entrare in Interface Builder e ridimensionare il componente UIImageView.

6. Aggiungiamo la funzione al tasto “Ripristina”

Ora non ci resta che aggiungere al funziona al bottone “Rispristina”, che per ora non esegue nessuna azione. Dobbiamo solo implementare il metodo “restore”, che dovreste già trovare dichiarato nel file “MainView.m”. Il codice da aggiungere è il seguente:

Cosa esegua questo metodo si può inture facilmente. Eseguiamo un’animazione inversa rispetto a quella dell’eliminazione del logo, riportando l’immagine alla sua posizione originale (che fissiamo noi), e torniamo a cambiare immagine del cestino, questa volta rimettendo quella del cestino vuoto.

Clicchiamo ora su “Build and Go” e gustiamoci la nostra nuova applicazione 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: TrashTutorial – iPhone DevCentral. 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.

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
Share. Facebook Twitter Telegram WhatsApp Threads Email Copy Link
Previous ArticleCycorder 0.9-4 – Update | Cydia
Next Article QuickGold 0.9.0 | Cydia

Articoli correlati

iPhone 16e entra nella Top 10 in Europa, ma non convince come gli SE

3 Giu 2025Commenta

WhatsApp interrompe il supporto per alcuni modelli di iPhone

3 Giu 2025Commenta

iPhone 17 e 17 Air con schermo a 120Hz, ma senza ProMotion | Rumor

3 Giu 2025Commenta

iPhone 17 delude già prima del lancio: ancora un chip A18 e solo 8GB di RAM

2 Giu 2025Commenta

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

iOS 26 Beta 1 è disponibile: Ecco come scaricarlo ed installarlo su iPhone

9 Giu 2025

Ecco la lista degli iPhone sui quali è possibile installare iOS 26

9 Giu 2025

Apple presenta iOS 26 con nuovo design “Liquid Glass” e tantissime novità!

10 Giu 2025

Apple prepara il più grande restyling software dai tempi di iOS 7 e coinvolgerà tutti i suoi sistemi operativi

26 Mag 2025
Advertising

Gli articoli più letti

watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

iOS 18.6 sarà uno degli ultimi aggiornamenti prima dell’arrivo di iOS 26, ecco cosa aspettarsi

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 Smart Central e Teslers.

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

Type above and press Enter to search. Press Esc to cancel.