/ / Mnoho UIButton v .xib s rôznymi značkami - ios, uibutton

Veľa UIButton v .xib s rôznymi tagmi - ios, uibutton

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ď č. 1

Iba 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);

}