2014-09-03 1 views
-4

저는 Xcode 프로그래밍에 착수하고 있습니다. 코드를 클릭해야 버튼을 클릭 할 때 다른 ViewController로 옮길 수 있습니다.다른 viewcontroller로 바꾸려면 UIAlertview 버튼을 사용 하시겠습니까?

페이지에 X 버튼이 있는데, 클릭하면 '취소'와 '다음'이라고 팝업되는 UIAlertview가 필요하며 다음을 누르면 다른 ViewController로 변경하고 싶습니다. 이러한 취소 및 다음 버튼은 나란히 있어야합니다.

+0

다른'UIViewController'로 이동하는 방법을 읽고'UIAlertView'의 어떤 버튼이 알고 읽는 방법 (팁 : UIAlertViewDelegate''확인)을 클릭합니다. 그것을 시도하고 이해하려고 노력하십시오. 문제 나 질문이 있으면 질문하십시오. 하지만 적어도 시도해야합니다. – Larme

+0

버튼에 viewcontroller를 연결하려고 시도했지만 경고 버튼을 클릭하면 URL이 작동하고 다른 viewcontroller에 연결할 수 없습니다! –

+0

뭔가를 시도해 본 경우 최소한 코드를 제공하십시오. – Larme

답변

0

먼저 버튼이있는보기가 UIAlertView의 대리인인지 확인해야합니다.

@interface ViewController() <UIAlertViewDelegate> 

그런 다음 조치의 내부 위로 터치를보기에 추가해야합니다. 버튼을 누르면 alertView가 만들어지고 표시됩니다. 참고로, 그 대리인은 자기입니다.

- (IBAction)clickButton:(id)sender { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Test" message: @"Message" delegate: self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Next", nil]; 
    [alert show]; 
} 

마지막으로 위임 함수를 만듭니다. 이것은 alertView에서 버튼을 클릭 할 때마다 트리거됩니다. buttonIndex는 클릭 된 버튼에 해당하므로 첫 번째 버튼을 누르면 뷰가 표시됩니다 (0은 취소, 1은 다음에 해당). 실제로, 사용자가 정의한 사용자 정의보기 컨트롤러를 제시하고자 할 것입니다.

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    if(buttonIndex == 1){ 
     UIViewController* newView = [[UIViewController alloc] init]; 
     [self presentViewController:newView animated:YES completion:nil]; 
    } 
} 
관련 문제