Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 关闭UIAlertView后如何重新加载视图?_Objective C_Ios - Fatal编程技术网

Objective c 关闭UIAlertView后如何重新加载视图?

Objective c 关闭UIAlertView后如何重新加载视图?,objective-c,ios,Objective C,Ios,关闭UIAlertView后,我想重新加载一个视图(对视图运行viewwilldiscover,对视图运行viewwilldiscome) 我该怎么做?我已经试着把权力下放给nil和self。这是我的密码 - (IBAction)doStuffWhenUIButtonIsClicked:(id)sender { int intSelection = [sender tag]; NSString* strAlertTitle; NSString* strAlertMessa

关闭UIAlertView后,我想重新加载一个视图(对视图运行
viewwilldiscover
,对视图运行
viewwilldiscome

我该怎么做?我已经试着把权力下放给nil和self。这是我的密码

- (IBAction)doStuffWhenUIButtonIsClicked:(id)sender
{
    int intSelection = [sender tag];
    NSString* strAlertTitle;
    NSString* strAlertMessage;
    if (intSelection == self.intCorrectChoice) {
        strAlertTitle = @"Correct tag!";
    }
    else {
        strAlertTitle = @"Sorry, incorrect tag!";
    }
strAlertMessage = @"The correct answer was 8.";

    self.answerReaction = [[UIAlertView alloc]
                           initWithTitle: strAlertTitle
                                 message: strAlertMessage
                                delegate: nil
                       cancelButtonTitle:@"Next Question"
                       otherButtonTitles:nil];
    [self.answerReaction show];
}

如您所见,我希望在用户回答其中一个问题后加载一个新问题。

首先,您需要使所处的视图控制器符合
UIAlertViewDelegate
协议

然后,在显示警报之前,需要添加以下行:

self.answerReaction.delegate = self;
然后,实现didDismissWithButtonIndex委托方法:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    [self viewWillDisappear:YES];
    // load your new question
    [self viewWillAppear:YES];
}

那就好了

首先,需要使您所在的视图控制器符合
UIAlertViewDelegate
协议

然后,在显示警报之前,需要添加以下行:

self.answerReaction.delegate = self;
然后,实现didDismissWithButtonIndex委托方法:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    [self viewWillDisappear:YES];
    // load your new question
    [self viewWillAppear:YES];
}

那就好了

只需添加此方法,当您单击UIAlertView上的任何按钮时会触发此方法

- (void)alertView:(UIAlertView *)alertView  clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        [self viewWillDisappear:YES];
        [self viewWillAppear:YES];
    }
}

希望对你有帮助

只需添加此方法,当您单击UIAlertView上的任何按钮时会触发此方法

- (void)alertView:(UIAlertView *)alertView  clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        [self viewWillDisappear:YES];
        [self viewWillAppear:YES];
    }
}

希望对你有帮助

这对我没用!我有:

- (IBAction)OkButton:(id)sender {    

  // store your selected row
    NSUInteger selectedRow = [_intervalPicker selectedRowInComponent:0];    

    // Display a message to user
    if (selectedRow == CorrectAnswer) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Correct!" message:@"YAY!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [alert show];

        RightScoreNumber0 += 1;
    }
    else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:@"Wrong answer" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [alert show];

        WrongScoreNumber0 += 1;
    }

}
正如你所建议的:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"OK was selected");  

    [self viewWillDisappear:YES];
    // load your new question
    [self viewWillAppear:YES];
}
我收到消息“OK已被选中”,但没有其他事情发生

它终于奏效了,但用另一种方式 我将两者都替换

[self viewWillDisappear:YES];
[self viewWillAppear:YES];


这对我没用!我有:

- (IBAction)OkButton:(id)sender {    

  // store your selected row
    NSUInteger selectedRow = [_intervalPicker selectedRowInComponent:0];    

    // Display a message to user
    if (selectedRow == CorrectAnswer) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Correct!" message:@"YAY!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [alert show];

        RightScoreNumber0 += 1;
    }
    else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry!" message:@"Wrong answer" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

        [alert show];

        WrongScoreNumber0 += 1;
    }

}
正如你所建议的:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"OK was selected");  

    [self viewWillDisappear:YES];
    // load your new question
    [self viewWillAppear:YES];
}
我收到消息“OK已被选中”,但没有其他事情发生

它终于奏效了,但用另一种方式 我将两者都替换

[self viewWillDisappear:YES];
[self viewWillAppear:YES];