LAZIOMATICA – Guida allo Sviluppo Software

La nuova forma del software su misura…

 

Programmazione iPad/iPhone – UI dinamica: come accedere alle view create dinamicamente attraverso il “tag”

Partendo dall’esempio precedente, se volessimo accedere ad una view creata in modo dinamico a cui abbiamo assegnato la proprietà “tag”, possiamo recuperarla dalla view della classe con riferimento al tag, effettuandone però un cast al tipo di View che rappresenta. Nel esempio concreto se vogliamo alterare la proprietà “text” della UILabel, possiamo farlo in questo modo, magari al click del bottone:

-(IBAction) buttonClicked: (id) sender{

//Effettuo il cast a UILABEL recuperandola dalla view principale attraverso il suo tag

UILabel *myLabel = (UILabel *)[self.view viewWithTag:1000];

myLabel.text=@”Questa è la mia etichetta”;

UIAlertView *alert = [[UIAlertView alloc]

initWithTitle:@”Pulsante click!”

message:@”Ciao, ti piace questo esempio?!”

delegate:self

cancelButtonTitle:@”Chiudi”

otherButtonTitles:nil];

[alert show];

[alert release];

}

Questo è valido per qualsiasi altro tipo di view.

Filed under : Apple,Sviluppo iPad/iPhone
By admin
On 29 agosto 2010
At 17:49
Comments :Commenti disabilitati
 
 

Programmazione iPad / iPhone – Disegnare la UI (User Interface) dinamicamente a runtime senza utilizzare Interface Builder

In questo esempio di programmazione iPad/iPhone vedremo come disegnare la User Interface dinamicamente, senza l’utilizzo dell Interface Builder, durante l’esecuzione dell’applicazione, in particolare sfruttando il delegate “loadView” del ViewController.

Da Xcode create un progetto View-based Application e chiamiamolo “dynamicviews”.

Apriamo direttamente il file dynamicviewsViewController.m ed aggiungiamo il codice che segue al delegate loadView:

- (void)loadView {

//creazione dell’oggetto UIView

UIView *view =

[[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];

view.backgroundColor = [UIColor redColor];

//creazione della Label view

CGRect frame = CGRectMake(10, 15, 400, 20);

UILabel *label = [[UILabel alloc] initWithFrame:frame];

// Settiamo una serie di proprietà per la Label

label.textAlignment = UITextAlignmentCenter;

label.backgroundColor = [UIColor clearColor];

label.font = [UIFont fontWithName:@"Verdana" size:18];

label.text = @”Questa Etichetta è creata dinamicamente!”;

label.tag = 1000;

//creazione Button view

frame = CGRectMake(60, 70, 300, 50);

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

button.frame = frame;

[button setTitle:@"Clikka qui!" forState:UIControlStateNormal];

button.backgroundColor = [UIColor clearColor];

button.tag = 2000;

[button addTarget:self

action:@selector(buttonClicked: )

forControlEvents:UIControlEventTouchUpInside];

// Disegniamo i componenti sulla view

[view addSubview:label];

[view addSubview:button];

//associamo la View alla classe corrente

self.view = view;

[label release];

[button release];

}

Aggiungiamo inoltre un azione al click del bottone, che notifica attraverso una UIAlertView un messaggio di testo:

-(IBAction) buttonClicked: (id) sender{

UIAlertView *alert = [[UIAlertView alloc]

initWithTitle:@”Pulsante click!”

message:@”Ciao, ti piace questo esempio?!”

delegate:self

cancelButtonTitle:@”Chiudi”

otherButtonTitles:nil];

[alert show];

[alert release];

}

Questo è tutto.

Filed under : Apple,Sviluppo iPad/iPhone
By admin
On 27 agosto 2010
At 17:50
Comments :Commenti disabilitati
 
 

Programmazione iPad / iPhone – Utilizzare la UIWebView con notifica di fine download pagina

Da Xcode create un progetto View-based Application e chiamiamolo “explorer”.

Apriamo il file explorerViewController.h ed aggiungiamo una proprietà mywebView e una funzione urlbuttonTapped :


#import <UIKit/UIKit.h>

@interface explorerViewController : UIViewController <UIWebViewDelegate> {

UIBarButtonItem *urlButton;

UIWebView *mywebView;

}

@property (nonatomic, retain) IBOutlet UIWebView *mywebView;

-(IBAction)urlbuttonTapped;

@end

Imlementiamo il codice dell’ IBAction nel file “explorerViewController.m” :

#import “explorerViewController.h”

@implementation explorerViewController

@synthesize mywebView;

- (void)viewDidLoad {

self.mywebView.delegate = self;

[super viewDidLoad];

}

- (IBAction)urlbuttonTapped {

NSURL *url = [NSURL URLWithString:@"http://www.laziomatica.com"];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

[self.mywebView loadRequest:request];

}

#pragma mark -

#pragma mark UIWebViewDelegate

- (void)webViewDidFinishLoad:(UIWebView *)webView {

// Evento di fine caricamento

UIAlertView *buttonAlert = [[UIAlertView alloc] initWithTitle:@”Benvenuti su Laziomatica”

message:@”Homepage caricata. Grazie per la visita!”

delegate:nil cancelButtonTitle:@”Continua” otherButtonTitles:nil];

// Visualizziamo Alert

[buttonAlert show];

// Rilasciamo la memoria

[buttonAlert release];

}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return YES;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

}

- (void)viewDidUnload {

}

- (void)dealloc {

mywebView.delegate=nil;

// Liberiamo memoria

[mywebView release];

[super dealloc];

}

@end

Ora apriamo il file “explorerViewController.xib” in Interface Builder e nella view andiamo a trascinare dalla libreria un componente UIWebView e in alto posizioniamo una UIToolBar.

Al pulsante di default di quest’ultima aggiungiamo un titolo.

Colleghiamo i componenti agli outlet presenti nel codice tenendo premetuto il tasto CTRL e trascinando il link dal pulsante al “File’s owner” e aggangiandolo alla proprietà mywebView prima e poi linkando dal pulsante verso “File’s owner” e selezionando l’azione urlbuttonTapped.

Salvate ed eseguite la vostra App. Al termine del caricamento della homepage del mio sito sarete avvisati con un AlertView.

Filed under : Apple,Sviluppo iPad/iPhone
By admin
On
At 14:30
Comments :Commenti disabilitati