Wrong Forum Blog
Connettiti o Registrati a Wrong

Unisciti al forum, è facile e veloce

Wrong Forum Blog
Connettiti o Registrati a Wrong
Wrong Forum Blog
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Guida XCODE Creare una vista (view) utilizzando il codice

Andare in basso

Guida XCODE Creare una vista (view) utilizzando il codice Empty Guida XCODE Creare una vista (view) utilizzando il codice

Messaggio Da andre Sab Ago 13, 2011 1:30 pm

Spiegato nel capitolo precedente che cosa è un ViewController ed a cosa serve, siamo pronti per disegnare la nostra view direttamente da codice.
Per raggiungere il nostro obiettivo è possibile implementare il codice sia nel metodo loadView sia nel metodo viewDidLoad
in quanto non è presente nessun file .xib da caricare. Dato che il
lettore potrebbe usare questo progetto anche nei prossimi esempi
collochiamo il codice nel metodo viewDidLoad.
Il codice relativo alla creazione della view è il seguente:

CGRect frame = CGRectMake(80, 140, 160, 200);
self.view = [[UIView alloc] initWithFrame:frame];
self.view.backgroundColor=[UIColor blackColor];

La prima riga di codice dichiara un frame con il quale andremo ad
inizializzare la nostra view. Come possiamo vedere il frame viene
definito come tipo CGRect che è una struct che contiene un CGPoint e CGSize che a loro volta contengo due variabili di tipo float.
Il frame viene creato utilizzando la funzione CGRectMake che,
come vediamo, prende in input quattro parametri: i primi due indicano il
punto di partenza dal quale iniziare a disegnare la view, mentre gli
altri due indicano la larghezza e la lunghezza che avrà il frame. Per
capire dove andremo ad inserire la nostra view definiamo come l'origine
del sistema di riferimento - il punto (0,0) - il punto in alto a
sinistra dello schermo del nostro dispositivo. Quindi, nel nostro caso,
la view verrà disegnata spostandosi di 80 pixel sull'asse x e 140
sull'asse y.

Nella seconda linea di codice non facciamo altro che inizializzare la
view con il frame creato precedentemente. Probabilmente l'attenzione di
qualche lettore sarà caduta su self.view chiedendosi il
significato di questo costrutto. Un'altra domanda che il lettore può
farsi è il perchè nel file header del ViewController non viene
dichiarata nessuna view, ma compilando il codice non emerga nessun
errore.
Rispondendo prima alla seconda domanda, possiamo dire che la classe UIViewController discende direttamente da UIView e dato che UIView contiene una dichiarazione di una view, eriditando la classe ereditiamo anche questa dichiarazione.
Per accedere alla view si usa il costrutto self che indica che vogliamo la view di quest'oggetto. Per capirsi, il costrutto self ha lo stesso significato del costrutto this in molti linguaggi di programmazione come per esempio il Java.

Nella terza linea di codice andiamo ad accedere alla proprietà backgroundColor della vista e gli associamo il colore blu.

Se adesso andiamo ad aprire il file di implementazione del delegate troviamo la seguente linea di codice:

[window addSubview:viewController.view];
Questa linea di codice ha il compito di sovrapporre la view, che abbiamo
creato nel ViewController, alla window dell'applicazione.
E' possibile ultilizzare il metodo addSubView non solo
con view ma anche con gli altri elementi UI come pere sempio UILabel e
UIButton, dato che derivano tutti dalla super classe UIView.
E' importante notare che il sistema di riferimento varia a seconda della view in cui applichiamo il metodo addSubView. Infatti se proviamo ad aggiungere, nel delegate, il seguente pezzo di codice:

CGRect frame1 = CGRectMake(0, 0, 70, 70);
UIView * view1;
view1 = [[UIView alloc] initWithFrame:frame1];
view1.backgroundColor=[UIColor redColor];
[viewController.view addSubview:view1];

Vedremo che viene disegnata un'altra view più piccola ubicata
nell'origine della view del ViewController e non nell'origine della
window.
Se dunque si vuole disegnare la view nell'origine o si esegue il metodo addSubView sulla window oppure si modificano i primi due parametri di CGRectMake inserendo dei valori negativi.
Per rimuovere una view dallo schermo basterà scrivere la seguente linea di codice:

[nomeView removeFromSuperView];
andre
andre
Admin
Admin

Maschio Messaggi : 1791
Wrong Points : 2514
Reputazione : 7
Data d'iscrizione : 06.12.10
Età : 31

Personaggio GDR
Nome del personaggio: Zeod
Livello: 1
Esperienza:
Guida XCODE Creare una vista (view) utilizzando il codice Left_bar_bleue6/100Guida XCODE Creare una vista (view) utilizzando il codice Empty_bar_bleue  (6/100)

https://wrong.forumattivo.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.