V mojom xibe mám 17 tlačidiel. A nastavil som im hodnoty značiek 1 až 17.
Môže mi niekto povedať, ako prepojiť všetkých 17 tlačidiel s jedným názvom premennej v. H a získať konkrétne tlačidlo v .m pomocou jeho hodnoty značky.
Vďaka
odpovede:
1 pre odpoveď č. 1Iba som to otestoval a viem, že ak vyberietevšetky vaše tlačidlá na paneli deja a pomocou ovládacieho prvku ich potiahnite do príslušného ovládača v pomocníkovi editora, môžete vytvoriť kolekciu zásuviek predstavujúcich všetky tlačidlá. Výsledný kód bol:
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;
1 pre odpoveď č. 2
nie je to podľa mojej skúsenosti možné. Výstup IBOutlet, t. J. Interface Builder Outlet, sa vždy týka jediného spojenia medzi komponentom rozhrania (ako je tlačidlo) a premennou v rozhraní (ako je IBOutlet UIButton * myButton). Tento vzťah jeden ku každému.
1 pre odpoveď č. 3
Musí existovať IBOutlet
na tlačidlo, takže budete musieť vytvoriť všetkých 17 z nich. Pripojte tlačidlá k zásuvkám individuálne a potom ich budete môcť vložiť do poľa v inicializátore, ak ich potrebujete v poli.
Môžete uložiť na IBAction
metódy: urobte jednu z týchto metód
-(IBAction)buttonClicked:(id)sender {
}
Túto metódu môžete pripojiť ku všetkým tlačidlám a pozrieť sa na značku (id)sender
rozhodnúť, ktoré tlačidlo vyvolalo vašu akciu.
0 pre odpoveď č. 4
Nemôžete dať jeden odkaz na tlačidlo 17, ale môžete priradiť jednu metódu k 17 tlačidlám, ako povedal @dasblinkenlight
Musíte len nastaviť IBAction
na všetky udalosti kliknutia na tlačidlo a pomocou hodnoty značky získate prístup k požadovanému tlačidlu
-(IBAction)buttonClicked:(id)sender {
int j = [sender tag];
NSLog(@"Clicked Button %i", j);
}