-1

UILabels とボタンがいくつかあります。これは私のコードです:

    if ([label.text isEqualToString:@"The three blue dots represents GPS towers. Click Go to advance"])
    {
        firstClick = [[UIAlertView alloc] initWithTitle:@"Welcome!"
                                                message:@"Blah, blah blah"
                                               delegate:self
                                      cancelButtonTitle:@"OK"
                                      otherButtonTitles:nil];
        [firstClick show];

        distanceLabel.text = @"Distance to first tower: 50 km";
        a = YES;
    }

    if (a)
    {
        label.text = @"Now you know that the distance to the first tower is 50 km. Click Go to advance";
    }

これらはすべて、ボタンのアクション メソッド内にあります。ボタンが押されると、alertview ビューが表示され、distanceLabel のテキストが変更されます。次に、アラートの [OK] ボタンをクリックします。label.text を変更したいと思います。インスタンスブール値で試しましたが、うまくいきません。なぜそれがうまくいかず、代わりに何をしなければならないのですか??

4

1 に答える 1

0

アラート表示ボタンが押されたときにアクションを発生させたい場合は、プロトコル メソッドを実装する必要があります。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

    NSLog(@"button clicked at index %d", buttonIndex);
    NSLog(@"about to update a label.  this won't work if it's nil... %@", label);
    label.text = [NSString stringWithFormat:@"user clicked button %d", buttonIndex"];
}
于 2013-03-01T00:32:12.430 に答える