• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

T#008 – Creiamo un Browser

By Redazione | on 15 Novembre 2009 | 19 Comments
Senza categoria

t008_IS Oggi creeremo un semplice browser completo di tutte le funzionalità necessarie per la navigazione su internet. Il tutto sarà incentrato sull’oggetto UIWebView, dove verranno appunto caricate le pagine web che andremo a visitare. Aprite Xcode, cliccate su “Nuovo progetto”, selezionate “View-based Application” dall’elenco dei Template disponibili e proseguite. Inserite un nome per la vostra applicazione, ad esempio “MyBrowser”, scegliete quindi la posizione dove salvare e andate avanti. Apriamo il file “myBrowserViewController.h” e creiamo 2 oggetti. Il primo di tipo UIWebView, che chiamiamo semplicemente webView, e il secondo un UITextField, che chiameremo “Indirizzo” e che ci servirà per inserire gli indirizzi dei siti da visitare. Entrambi gli oggetti andranno poi collegati tramite Interface Builder ai rispettivi oggetti che disegneremo nell’interfaccia grafica più avanti. Dichiariamo inoltre le property per i due oggetti che ci permetteranno di usare le loro proprietà nel nostro progetto. Il codice sarà come il seguente:

#import 

@interface myBrowserViewController : UIViewController {
    IBOutlet UIWebView *webView;
    IBOutlet UITextField *indirizzo;
}

@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, retain) IBOutlet UITextField *indirizzo;

- (IBAction)apriPagina;

@end

Apriamo ora Interface Builder facendo doppio click sul file “myBrowserViewController.xib” e disegnamo la nostra interfaccia grafica. Trascinate, posizionate e modificate le proprietà, come mostrato nella figura sotto l’elenco, dei seguenti oggetti:

  • N. 1 UIToolBar
  • N. 4 UIBarButtonItem (da posizionare dentro la UIToolBar)
  • N. 1 Flexible Space Bar Button Item (da posizionare tra i Button Item nella ToolBar come in figura)
  • N. 1 UIWebView
  • N. 1 UITextField
  • N. 1 UIButton


t008_IB

Effettuiamo ora i collegamenti tra gli oggetti appena creati e quelli creati da Xcode. Clicchiamo su File’s Owner e colleghiamo “Indirizzo” con l’UITextField, webView con l’UIWebView e “apriPagina” con l’UIButton, facendo attenzione a selezionare “Touch Up Inside”. Clicchiamo quindi sulla UIWebView e colleghiamo le quattro “Received Action” presenti con i rispettivi pulsanti nella ToolBar inseriti in precedenza. Salviamo e torniamo ad Xcode.

Apriamo il file “myBrowserViewController.m” e andiamo quindi a scrivere il codice vero e proprio della nostra applicazione:

//Con la direttiva @synthetize potremo accedere a tutte le proprietà dei rispettivi oggetti
@synthesize webView;
@synthesize indirizzo;

- (IBAction)apriPagina{
	NSString *strIndirizzo = indirizzo.text;
	NSURL *url = [NSURL URLWithString:strIndirizzo];
	NSURLRequest *request = [NSURLRequest requestWithURL:url];
	[webView loadRequest:request];
	[webView setScalesPageToFit:YES];
}

- (void)viewDidLoad {
    [super viewDidLoad];
	NSString *strIndirizzo = @"http://www.devapp.it/";
	NSURL *url = [NSURL URLWithString:strIndirizzo];
	NSURLRequest *request = [NSURLRequest requestWithURL:url];
	[webView loadRequest:request];
	[webView setScalesPageToFit:YES];
}

Iniziamo a vedere come funziona il metodo “apriPagina”. Abbiamo creato un oggetto NSString, chiamato “strIndirizzo” a cui passeremo il contenuto della UITextField, ovvero l’indirizzo che vorremo visitare durante l’esecuzione del programma. L’indirizzo viene quindi passato a un oggetto NSURL che passerà a sua volta ad un’altro di tipo NSURLRequest, chiamato “request”, che useremo infine per caricare la pagina tramite il metodo “loadRequest” della UIWebView. L’ultima istruzione, setScalesPageToFit:YES , serve ad abilitare lo zoom (e di conseguenza lo scrool) nelle pagine che andremo a visitare.

Inseriamo più o meno lo stesso codice al caricamento della view, quindi all’interno del metodo “viewDidLoad”, che dovremo “scommentare”, però questa volta impostiamo esplicitamente un indirizzo web, che sarà la nostra pagina predefinita all’apertura del programma, nel nostro caso abbiamo inserito “NSString *strIndirizzo = @”http://www.devapp.it/”;”. Il significato del resto del codice è lo stesso visto poco fa per il metodo “apriPagina”.

A questo punto il programma è quasi terminato. Non ci resta altro, infatti, che inserire il solito metodo per la chiusura della tastiera (sempre in questo file su cui stiamo lavorando):

//Metodo per nascondere la tastiera
-(BOOL)textFieldShouldReturn:(UITextField *)textField{ 
	[textField resignFirstResponder]; 
	return YES; 
}

Torniamo quindi su Interface Builder, clicchiamo sulla UITextView, apriamo la finestra “Connections” e colleghiamo l’unico Outlets presente con File’s Owner. Salviamo e chiudiamo. Possiamo provare la nostra applicazione. Per farlo clicchiamo su “Build and Run” da Xcode. Ricordate di inserire anche “http://” negli indirizzi durante il test dell’applicazione, perchè non abbiamo gestito questo aspetto. Il risultato è quello mostrato in figura:


t008_IS

Scarica il progetto completo

Video Tutorial

by David Pollak



Share this story:
  • tweet

Tags: Objective-cprogrammazioneTutorial PraticiXcode

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Microservizi per logiche applicative di grandi dimensioni

    27 Luglio 2016 - 0 Comment
  • Con Xcode 6.3 arriva il Crash Log Organizer

    26 Febbraio 2015 - 0 Comment
  • Xcode-project-generator: uno script per creare velocemente progetti Xcode

    21 Ottobre 2014 - 1 Comment

Author Description

19 Responses to “T#008 – Creiamo un Browser”

  1. 29 Novembre 2009

    valerio

    sarebbe possibile avere il progetto Xcode di questo browser?

  2. 29 Novembre 2009

    Clod75

    Non credo ci siano problemi.. Comunque io ho provato questo tutorial e funziona perfettamente 🙂

  3. 30 Novembre 2009

    Staff devAPP

    Ho aggiornato l’articolo inserendo il link al progetto completo sotto l’ultima immagine 😉

    Per comodità:
    http://www.devapp.it/wordpress/wp-content/uploads/files/myBrowser.zip

  4. 17 Dicembre 2009

    Max

    Ciao una domanda…è possibile aprire anche siti https in questo modo? perchè io ho provato ma non me li carica.
    Grazie!

  5. 16 Febbraio 2010

    TIPS#002 – Caricare il contenuto di un file HTML locale in una UIWebView | devAPP

    […] nostro ottavo tutorial “Creiamo un Browser”, abbiamo visto come creare un semplice browser, il quale, non fa […]

  6. 20 Febbraio 2010

    L-04

    ottimo, ma se volessi impostare un’immagine per l’applicazione??

  7. 29 Marzo 2010

    Video Tutorial di programmazione iPhone SDK (in italiano) | devAPP

    […] Oggi creeremo un semplice browser completo di tutte le funzionalità necessarie per la navigazione su internet. Il tutto sarà incentrato sull’oggetto UIWebView, dove verranno appunto caricate le pagine web che andremo a visitare. (visualizza l’articolo completo) […]

  8. 6 Aprile 2010

    Widgetbox: Crea la versione mobile del tuo sito in pochi minuti | devAPP

    […] è davvero minimo, basterà infatti creare una semplice App che funge da Browser (potete trovare un tutorial a riguardo sulle nostre pagine) che, all’avvio dell’applicazione, carica e visualizza la versione mobile del vostro […]

  9. 15 Aprile 2010

    gabriel81mi

    Ciao ho una domanda da porvi.
    Io ho scaricato il codice sorgente di questo tutorial e non mi funzionava, poi ho seguito passo per passo il tutorial e l’applicazione mi funzionava e quindi ho fato delle modifiche e ho realizzato una web applicazione completa.
    Il tutto funzionante, l’ho passato via skype al mio titolare ma a lui non funziona, come mai ha questo comportamento?

  10. 18 Maggio 2010

    Creiamo il nostro lettore di feed RSS per iPhone SDK | devAPP

    […] file “ViewArticolo.m” e inseriamo il seguente codice (che vi abbiamo già spiegato in questo tutorial): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #import "ViewArticolo.h"   @implementation […]

  11. 14 Ottobre 2010

    » devAPP – Tutorial Set #2

    […] (Vai al tutorial completo)   […]

  12. 16 Novembre 2010

    Emilio

    ciao a tutti mi chiedevo..se volessi inserire un url..prelevato da una uitextfield presente in un’altra vista? come si potrebbe fare?:D

  13. 24 Novembre 2010

    Francesco

    Scusate per la versione 4.2 dell’SDK non è utilizzabile, vero? Potreste creare una zip della versione 4 per favore? Si può aprire ma non lo esegue!

  14. 7 Febbraio 2011

    f.

    complimenti per i tutorials!
    mi sono appassionato da poco alla programmazione e li trovo davvero utili.
    scrivo per rilanciare la domanda di Max:
    – come possono essere gestiti url https?
    vi ringrazio,
    f.

  15. 30 Marzo 2011

    Matteo

    Ciao a tutti!
    Qualcuno mi sa dire sè il progetto completo scaricabile si può rinominare?

  16. 7 Maggio 2011

    anto

    Ciao e complimenti per il tutorial, vi seguo sempre e siete davvero un valido supporto!
    volevo chiedere se è possibile rendere la toolbar e la navigation bar trasparenti mantenendo però i bottoni opachi e ben visibili.
    grazie

  17. 23 Maggio 2011

    MaveDev

    Ottimo tutorial 🙂

  18. 6 Giugno 2011

    TeraBite

    Salve,

    essendo un novizio della programmazione con iPhone ho molto apprezzato questo Tutorial.
    Volevo solamente aggiungere a questa splendida guida la ” Rotazione ” che non tutti sanno come implementarla ( Parlo per chi inizia )

    – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
    }

  19. 7 Luglio 2011

    Luca

    Come si può aggiornare la “barra degli indirizzi”???

    Io ho fatto una cosa del tipo:

    – (void)webViewDidFinishLoad:(UIWebView *)webView
    {
    [indirizzo setText: [[pagina.request URL] absoluteString]];
    }

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO