0

私はiphoneアプリを持っています。次の画面に移動する前に、持っている4つまたは5つのボタンのいずれかをクリックする必要があります。ユーザーがボタンをクリックしないと、次の画面に移動しない場合があります。

最初の2つのボタンから、ユーザーはいずれかをクリックして次のボタンに移動する必要があります。

-(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";
}

次へボタン次の画面に移動

-(IBAction)nextButton{

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

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

2 に答える 2

1

最も簡単な方法は、.hファイルでフラグを取得することです。

BOOL _flag;

次のようにviewWillAppear設定します_flag = NO;

次の画面に進む前にクリックする必要がある各ボタンのアクションで、次のYESように設定します。

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

次のボタンクリックで次のように使用します

-(IBAction)nextButton{

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

これがお役に立てば幸いです:)何か他のものを探しているなら私に知らせてください

于 2012-07-02T04:56:20.240 に答える
0

boolフラグを使用して、ボタンのいずれかがクリックされたかどうかを識別できます。ボタンのいずれかがクリックされた場合は、そのboolフラグをtrueにします。それ以外の場合は、falseに初期化し、ユーザーが[次へ]をクリックしたときに、そのboolフラグがtrueかどうかを確認します。 false。falseの場合、ユーザーに続行を許可しないでください。

于 2012-07-02T04:56:11.953 に答える