2012-08-13 42 views
13

Anyoone puede ayudarme a agregar acción para llamar al siguiente método usando UIButton.Agregar destino para UIButton - iOS

-(void)navigatePics:(id)sender andIndex:(NSInteger *)index{} 
+0

Por favor, explique qué tipo de funcionalidad que desea. ¿Quieres que alguien escriba entre {} 's para que el método haga algo? ¿O necesita ayuda para conectarlo al Interface Builder (IB)? – MrHappyAsthma

+0

Acabo de buscar el [button addTarget: self action: @selector (_this space____) forControlEvents: UIControlEventTouchUpInside]; –

Respuesta

50

Usa el button.setTag: método (NSInteger) para añadir el índice a la UIButton como una etiqueta.

UIButton *button = ...; 
[button setTag:1234]; 
[button addTarget:self action:@selector(navigatePics:) forControlEvents:UIControlEventTouchUpInside]; 

Luego, en navigatePics, lea la etiqueta.

-(void)navigatePics:(UIButton *)sender 
{ 
int index = sender.tag; 
// index = 1234; 
} 
0

Esto debería hacer el truco. No use self si desea llamar a este método en otra instancia. En ese caso, solo usa esa instancia en lugar de ti mismo.

[button addTarget:self action:@selector(navigatePics:andIndex:) forControlEvents:UIControlEventTouchUpInside]; 
+0

¿cómo pasaría el valor del índice? –

+0

no puede pasar el valor del índice ... obtenerlo del remitente –

2
UIButton *button = [[UIButton alloc] init]; 
button.tag = 4; //index 
[button addTarget:self @selected(buttonDidTap:)]; 

... 
[button release]; 

-(void)buttonDidTap:(UIButton *)sender{ 
NSInteger index = sender.tag; 
} 
Cuestiones relacionadas