Cómo detectar si se hace clic en algún botón o no en iPhone

Tengo una aplicación de iPhone que quiero que antes de pasar a la siguiente pantalla haga clic en cualquiera de los 4 o cinco botones que tengo y si el usuario no hace clic en ningún botón, es posible que no pase a la siguiente pantalla.

Primeros dos botones en los que el usuario debe hacer clic en cualquiera para pasar al siguiente; de ​​lo contrario, no

-(IBAction)locationOneButtonAction{

    UIImage *buttonImage = [UIImage imageNamed:@"radiogreen.png"];  
    UIImage *buttonImageOne=[UIImage imageNamed:@"radiowhite.png"];

    [locationOneButton setImage:buttonImage forState:UIControlStateNormal];
    [locationOneButton setImage:buttonImage forState:UIControlStateNormal];

    [locationThreeButton  setImage:buttonImageOne forState:UIControlStateNormal];
    [locationTwoButton  setImage:buttonImageOne forState:UIControlStateNormal];

    [locationFourButton  setImage:buttonImageOne forState:UIControlStateNormal];
    [locationFiveButton  setImage:buttonImageOne forState:UIControlStateNormal];
    [locationSixButton  setImage:buttonImageOne forState:UIControlStateNormal];

    resturantLocation=@"Common Man - Bedford, MA";
}


-(IBAction)locationTwoButtonAction{

    UIImage *buttonImage = [UIImage imageNamed:@"radiogreen.png"];
    UIImage *buttonImageOne=[UIImage imageNamed:@"radiowhite.png"];

    [locationOneButton setImage:buttonImageOne forState:UIControlStateNormal];
    [locationThreeButton  setImage:buttonImageOne forState:UIControlStateNormal];
    [locationTwoButton  setImage:buttonImage forState:UIControlStateNormal];
    [locationFourButton  setImage:buttonImageOne forState:UIControlStateNormal];

    [locationFiveButton  setImage:buttonImageOne forState:UIControlStateNormal];
    [locationSixButton  setImage:buttonImageOne forState:UIControlStateNormal];

    resturantLocation=@"Common Man - Arlingtion, NY";
}

Botón Siguiente Ir a la pantalla siguiente

-(IBAction)nextButton{

    FoodViewController*targetController=[[FoodViewController alloc]init];
    targetController.resturantLocation=resturantLocation;

    [self.navigationController pushViewController:targetController animated:YES];
}

preguntado el 02 de julio de 12 a las 05:07

2 Respuestas

La forma más sencilla es obtener una bandera... en un archivo .h Use un

BOOL _flag;

in viewWillAppear configurarlo como _flag = NO;

En la acción de cada botón que es obligatorio hacer clic antes de pasar a la siguiente pantalla, configúrelo YES me gusta:

-(IBAction)locationOneButtonAction{
    // your stuff
    _flag = YES;
}
-(IBAction)locationTwoButtonAction{
    // your stuff
    _flag = YES;
}

En su próximo botón, haga clic en úselo como

-(IBAction)nextButton{

    if(_flag) {
        FoodViewController*targetController=[[FoodViewController alloc]init];
        targetController.resturantLocation=resturantLocation;
        [self.navigationController pushViewController:targetController animated:YES];
    }
}

Espero que esto ayude :) Avísame si estás buscando algo más

Respondido 02 Jul 12, 06:07

Quiero decir que, como si tuviera dos botones, se debe hacer clic en cualquiera de ellos: user1495149

Sí te tengo. pero déjame saber lo que quieres si se hace clic en ambos botones. Y Mi solución funcionará si hace clic en ambos o en cualquiera de los botones. - kapil choubisa

Puede usar el indicador bool para identificar si se hace clic en alguno de los botones o no. Si se hace clic en alguno de los botones, simplemente haga que el indicador bool sea verdadero, de lo contrario, inicialícelo en falso y cuando el usuario haga clic en Siguiente, simplemente verifique si ese indicador bool es verdadero o falso. Si es falso, no permita que el usuario continúe.

Respondido 02 Jul 12, 05:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.