2014년 4월 7일 월요일

[iOS] UIAlertView 사용하기

UIAlertView 간단한 사용 예제


UIAlertView는 UIAlertVIewDelegate 프로토콜을 따른다.
(헤더파일에 <UIAlertViewDelegate>를 포함시키지 않아도 작동된다.)
#1
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Question"
                                                       message:@"Do you want to build a snowman?"
                                                      delegate:self
                                             cancelButtonTitle:@"NO"    /* nil 로 지정할 경우 cancel button 없음 */
                                             otherButtonTitles:@"YES", nil];

    // alert창을 띄우는 method는 show이다.
    [alert show];



#2
// UIAlertView의 delegate method이다
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // OK 버튼을 눌렀을 때 버튼Index가 1로 들어감
    if (buttonIndex == 1) {
        NSLog(@"Clicked YES");
    }
    else {
       
    }
}


예제 실행 화면



* 만약 하나의 ViewController 안에 alertview를 여러 개 사용해야 한다면
다음과 같이 각각의 alertview에 tag를 지정해주어 식별해야 한다.

alertA.tag = 101;
alertB.tag = 102;

...

// UIAlertView의 delegate method
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if ( alertView.tag == 101 ) {
       if (buttonIndex == 1) {
            NSLog(@"Alert A - YES");
        }
    }
    else if ( alertView.tag == 102 ) {   
       if (buttonIndex == 1) {
            NSLog(@"Alert B - YES");
        }
    }
    
}


<Result>

alertA 호출 + YES버튼 터치 시 :
  2014-04-08 15:48:50.902 AlertViewTest[3098:60b] Alert A - YES

alertB 호출 + YES버튼 터치 시 :
  2014-04-08 15:53:22.981 AlertViewTest[3106:60b] Alert B - YES

댓글 없음:

댓글 쓰기