2012-05-02 3 views
1

UIAlertView가 닫힌 후보기를 다시로드하고 싶습니다.보기의 경우 을 실행하고보기의 경우 viewWillAppear을 실행합니다.UIAlertView가 닫힌 후에 어떻게 뷰를 다시로드합니까?

어떻게하면됩니까? 나는 무과 자기 모두에게 위임을 시도했다. 여기 내 코드가있다.

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

사용자가 알기로는 사용자가 그 중 하나에 대답 한 후에 새로운 질문을로드하고 싶습니다.

답변

5

먼저, 사용자가 UIAlertViewDelegate 프로토콜을 준수하는보기 컨트롤러를 만들어야합니다. 당신이 경고를 표시하기 전에

그런 다음이 줄을 추가해야합니다

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

알아서해야

self.answerReaction.delegate = self; 

다음, didDismissWithButtonIndex 위임 메소드를 구현!

0

UIAlertView의 단추를 클릭 할 때 트리거되는이 메서드를 추가하기 만하면됩니다.

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

그것은 나를 위해

0

작동하지 않습니다 ... 그것은 도움이되기를 바랍니다!

- (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]; 

로 교체

[self viewDidLoad]; 
관련 문제