0

UIAlertView 버튼에서 UIViewController을 열었지만 작동하지 않습니다. UIAlertView 버튼에서 뷰를 프로그래밍 방식으로 푸시?

사용자가 게임을 종료

나는 텍스트와 두 개의 버튼이있는 UIAlertView을 보여 "OK"가 경고를 기각하고 는 점수 페이지를 엽니 다을 "점수".

이 실제 UIAlertView입니다 :

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"YOU WIN!" 
                  message:[NSString stringWithFormat:@"You win a game in %d seconds!",seconds] 
                  delegate:self 
                cancelButtonTitle:@"Ok" 
                otherButtonTitles:@"Score", nil]; 
     [alert show]; 

을이 푸시의보기 코드 :

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex]; 
    if([title isEqualToString:@"Score"]){ 
     ScoreViewController *score = [[ScoreViewController alloc]init]; 
     [[self navigationController] pushViewController:score animated:YES]; 
    } 
} 

는 내가 얻는 것은 완전히 검은 화면입니다. 누군가 나를 도울 수 있습니까? 나는 내가 잘못하고있는 것을 이해할 수 없다.

PS : ScoreViewController에는 루트보기의 segue가 있지만 물론 경계보기 단추에서 프로그래밍 방식으로 segue를 수행하려고하므로 스토리 보드에서 새 항목을 만들 수 없습니다.

희망 나는 분명 도움이 될 것입니다.

+1

segue를 수행하는 것처럼 보이지 않습니다. Storyboard segue를 프로그래밍 방식으로 수행하는 방법은'performSegueWithIdentifier : sender :' – hgwhittle

+0

ops입니다. 죄송합니다. 이전에 segue로 시도했지만 작동하지 않았으므로 'google'및 'pushViewController : animated :'가 발견되어 코드를 변경하는 것을 잊었습니다. 내 질문을 편집하지만 'performSegueWithIdentifier : 보낸 사람 :'응용 프로그램 충돌 '스레드 1 : 신호 SIGABRT' –

답변

0

ScoreViewController의 인스턴스를 인스턴스화하고 내비게이션 컨트롤러를 밀고있는 것처럼 보입니다. 이것은 다른 컨트롤러를 제시하는 합법적 인 방법이지만, 스토리 보드 부분을 수행하는 것과는 다릅니다.

먼저 분명히 스토리 보드에보기 컨트롤러를 연결하는 세그 (segue)가 있는지 확인해야합니다. 당신이 그렇게까지 만든 것처럼 들리므로, 다음으로 segue가 식별자를 갖고 있는지 확인하고 싶을 것입니다. segue를 선택하고 Attributes inspector에서 식별자를 설정하십시오. 다음 코드에서 segue를 수행하십시오.

[self performSegueWithIdentifier:@"YourIdentifier" sender:self]; 
+0

나는 "명백한"부분을 깜박! LOL이 도와 주신 것에 대해 대단히 감사합니다. –