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 Developer Program #16 – TabBar Application – Parte 2: inseriamo una NavigationBar

Andrea BusiBy Andrea Busi12 Ago 2009Commenta5 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 con il secondo tutorial dedicato alle TabBar. Nella prima lezione abbiamo visto come creare una struttura generale, composta da due sezioni. Oggi vedremo, invece, come inserire una UINavigationBar all’interno di una nuova sezione e come gestire il movimento tra le varie celle di una tabella. Ovvero, quando l’utente seleziona una determinata cella si aprirà una corrispondente vista che avremo definito con Interface Builder. La navigation bar, poi, ci permetterà di tornare alla tabella principale. Un po’ come avviene nel menù “Impostazioni” del’iPhone / iPod Touch!

Buon tutorial a tutti!

1. Creiamo un nuovo elemento per la TabBar

Iniziamo creando la classe che gestirà la nuova vista. Dal menù “File” scegliamo “New File…”, nel pannello che apparirà selezioniamo “UIViewController subclass” e chiamiamo questa nuova classe “TabellaController”.

Immagine 1

Abbiamo già imparato a gestire una tabella in questa serie di tutorial, quindi non rispiegherò il codice utilizzato. Riutilizziamo gli stessi metodi, quindi inserite nel file “TabellaController.h” il seguente codice:

Immagine 2

Mentre in “TabellaController.m” inserite questi metodi:

Immagine 3

Notate che alcune parti sono diverse, il tutto risulta più semplificato in questa gestione.

Salviamo entrambi i file e riapriamo “MainWindow.xib” per tornare in Interface Builder.

2. Definiamo l’aspetto del nuovo elemento

Dalla Libreria prendiamo un componente UINavigationController e inseriamolo nella tab bar, proprio come abbiamo fatto nello scorso tutorial per le due viste.

Immagine 4

Proprio come abbiamo fatto in precedenza cambiamo il nome della scheda in “Tabella”. Ecco il risultato finale:

Immagine 5

Ora non ci resta che inserire la tabella all’interno di questa vista. Dalla Libreria prediamo un componente UITableViewController e inseriamolo nella nostra vista. Il risultato che dovete ottenere è il seguente:

Immagine 6

Ora dobbiamo solo collegare la classe alla tabella appena inserita. Dal Pannello dei Documenti (“Tools -> Reveal in Document Window”) navighiamo fino al seguente percorso:

Immagine 7

Come mostrato in figura, selezioniamo il componente “Table View Controller” (che non è altro che la nostra tabella) e apriamo l'”Identity Inspector”. Dal menù Class scegliamo “TabellaController”:

Immagine 8

Abbiamo così concluso con la creazione della nostra tabella. Salviamo tutto, torniamo in XCode e clicchiamo su “Build and Go!”: la tabella sarà ora presente e funzionante nell’applicazione!

Immagine 9

3. Implementiamo due viste di dettaglio

Ora vediamo di analizzare un aspetto che molti utenti mi hanno chiesto via mail. Se noi volessimo associare un determinato file “xib” (ovvero creato con Interface Builder) ad una cella, come potremmo fare? In questa seconda parte del tutorial vedremo proprio di analizzare i passaggi necessari. Andremo a definire due viste, una che conterrà una foto dell’elemento “iPhone”, mentre un’altra che avviserà l’utente dell’assenza di informazioni per un determinato prodotto. Ovviamente potreste realizzare una vista con i dettagli per ogni prodotto presente nella tabella, ma il meccanismo rimane invariato.

Iniziamo creando due nuovi file xib, dal menù “File -> New File…” e scegliendo “Empty XIB”. Io ho chiamato il primo file “iPhoneDetail” e il secondo “OtherDetail”, ma nulla vieta di chiamarli in modo diverso!

Immagine 10

Procediamo proprio come abbiamo fatto all’inizio dello scorso tutorial per le viste “PrimaVista” e “Seconda Vista”, quindi definiamo subito via codice le due classi necessarie.
Andiamo, quindi, in “File -> New File…” e spostiamoci nella sezione “Cocoa Touch Class”, in cui selezioniamo il modello “UIViewController”: anche in questo caso dobbiamo creare due classi, chiamate “iPhoneDetailController” e “OtheDetailController”.

Immagine 11

Possiamo spostare i file appena creati nella sezione “Classes” del nostro progetto, per avere un risultato come questo:

Immagine 12

Ora siamo pronti per definire l’aspetto di queste due nuove viste.

4. Definiamo l’aspetto grafico delle due viste di dettaglio

Apriamo il file “iPhoneDetail.xib” in Interface Builder. Il procedimento è, come già detto, uguale a quello svolto per la definizione delle due viste “PrimaVista” e “SecondaVista”. Inseriamo, quindi, un componente UIView nel Pannello dei Documenti e modifichiamolo a nostro piacimento. Ecco come risulta essere la mia vista:

Immagine 11

Ora associamo questa vista alla sua classe. Dal Pannello dei Documenti selezioniamo il “File’s Owner” e nell'”Identity Inspector” selezioniamo “iPhoneDetailController” come classe:

Immagine 12

Andiamo poi in “Connections Inspector” e colleghiamo l’elemento “view” con la vista che abbiamo appena creato (quella contenente le due label per intenderci). Se abbiamo eseguito il passaggio in maniera corretta avremo questo risultato:

Immagine 15

Abbiamo così completato la definizione della vista. Eseguiamo lo stesso procedimento anche per il file “OtherDetail.xib”, collegandola però alla classe “OtherDetailController”. Ecco come appare tale vista:

Immagine 16

Possiamo salvare tutto e chiudere Interface Builder.

5. Come richiamare le due viste via codice

Ora non ci resta che analizzare il codice che ci permette di aprire queste due viste. Apriamo il file “TabellaController.h” e modifichiamolo nella seguente maniera:

Immagine 17

Abbiamo per prima cosa importato le due classi delle viste, e poi definito una vista generica, che poi inizializzeremo con la classe “iPhoneDetailController” oppure “OtherDetailController”, a seconda del caso. Perchè abbiamo utilizzato “UIViewController” come tipo dell’elemento “detail”? Perchè abbiamo sfruttato un paradigma della programmazione ad oggetti, che ci permette di definire un elemento con una superclasse, per poi inizializzarlo con una sottoclasse più specifica.

Ora apriamo il file “TabellaController.m” e inseriamo il metodo che viene richiamato quando si clicca su una cella:

Immagine 18

Anche questo metodo lo avevamo già trovato nel tutorial dedicato alle tabelle. Analizziamo, però, il codice al suo interno. Troviamo inizialmente un ciclo if, che controlla se l’utente ha selezionato al prima cella, ovvero quella contenente l’elemento iPhone: se il controllo da esito positivo, inizializziamo l’elemento “detail” con la classe relativa alla vista “iPhoneDetail”, altrimenti con l’altra vista generica. La clausola “initWithNibName” si riferisce proprio al file xib che deve essere associato all’elemento “detail”.
Dopo il ciclo troviamo le istruzioni che ci permettono di far apparire la nuova vista; non preoccupatevi troppo, sono sempre queste istruzioni da utilizzare.

Abbiamo concluso!! Clicchiamo su “Build and Go!” e godiamoci la nostra applicazione funzionante!!

Immagine 19

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

La guida è stata creata da Andrea Busi per “Bubi Devs”. I meriti, quindi, 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
iSpazio Developer Program
Seguici su Google News
Share. Facebook Twitter Telegram WhatsApp Threads Email Copy Link
Previous ArticleiSpazio Redeem Contest: Vinci le applicazioni dell’App Store – F.A.S.T.
Next Article Dove? (Where To?), cerca i punti di interesse nelle vicinanze – OFFERTA e UPDATE | AppStore

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.