Creare un menu per un applicazione può essere a volte molto utile. Possiamo usarlo per esempio per far apparire nello schermo immagini differenti o altri funzioni. Per creare un menu tipo Instagram o come tutte quelle applicazioni che usano la fotocamera dobbiamo usare dei bottoni multipli e inserirli in un UIScrollView.
Per iniziare creiamo un progetto Single View Application e nel file delle dichiarazioni (.h) inseriamo :
[code lang=”obj-c”]
{
float xPosition;
UIButton *btn;
IBOutlet UIScrollView *scroll;
}
[/code]
Nel file del implementazione inseriamo il bottone multiplo:
[code lang=”obj-c”]
xPosition = 0;
for (int a = 0; a < 50; a++)
{
btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];<b>//1</b>
btn.frame = CGRectMake(xPosition, 0, 50, 50);<b>//2</b>
[btn setTitle:[NSString stringWithFormat:@"%i",a] forState:UIControlStateNormal];
btn.tag = a;
[btn addTarget:self action:@selector(consoleMessage:) forControlEvents:UIControlEventTouchUpInside];
[scroll addSubview:btn];
xPosition +=54;
}
scroll.backgroundColor = [UIColor clearColor];
[scroll setContentSize:CGSizeMake(xPosition, scroll.frame.size.height)];
[self.view addSubview:scroll];
[/code]
In questo caso abbiamo inserito 50 bottoni.
Inseriamo anche il metodo “consoleMessage:” che li abbiamo dato un azione e stampiamo qualcosa nella console:
[code lang=”obj-c”]
-(void)consoleMessage:(id)sender
{
btn = sender;
NSLog(@"bottone premuto %i",btn.tag);
}
[/code]
La parte del codice l’abbiamo finito, adesso andiamo nello storyboard e inseriamo uno UIScrollView , colleghiamolo con l’outlet creato come in figura con dimensioni (320 : 50) e disattiviamo l’autolayout per non avere problemi :
Fatto questo testiamo il progetto e vediamo il nostro lavoro.
Per confrontare il vostro lavoro potete scaricare il progetto del tutorial.