IOS8에서 액션시트를 처음 사용해보게 되어서...
IOS8에서 새롭게 등장한 UIAlertController를 사용해서 구현하였다.
사용법은 정말 간단하다.
// UIAlertController를 액션시트 형태로 생성
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil
message:nil
preferredStyle:UIAlertControllerStyleActionSheet];
// 액션1 설정
UIAlertAction *cancelAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"취소", @"Cancel Action")
style:UIAlertActionStyleCancel
handler:^(UIAlertAction *action) {
// 취소버튼 클릭시 하고싶은거 coding
}];
// 액션2 설정
UIAlertAction *logoutAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"로그아웃", @"로그아웃 Action")
style:UIAlertActionStyleDestructive
handler:^(UIAlertAction *action) {
// 로그아웃 클릭시 하고싶은거 coding
}];
// 액션1,2 추가
[alertController addAction:logoutAction];
[alertController addAction:cancelAction];
// UIAlertController를 화면에 띄워준다.
[self presentViewController:alertController animated:YES completion:nil];
이것만으로 IOS8에서 간단하게 액션시트가 동작한다.
IOS7이하로는 UIAlertController를 사용할 수 없음으로 아래와같이 이전 방식으로 해야한다.
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self
cancelButtonTitle:@"취소"
destructiveButtonTitle:@"로그아웃"
otherButtonTitles:nil, nil];
[actionSheet showInView:self.view];
액션시트 delegate의 아래 메서드를 통해서 클릭한 값이 들어온다.
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
'DirTy™의 하루일과 > DirTy™의 가당찮은iOS' 카테고리의 다른 글
[IOS] View Life Cycle (0) | 2015.03.24 |
---|---|
[IOS] NSArray에 NSDictionary데이터 넣기 (0) | 2015.02.05 |
[IOS] qr code reader, generator (0) | 2015.01.16 |
[IOS] pop segue에서 이전뷰로 갈때의 데이터 전달 방법 (0) | 2015.01.12 |
[IOS] UIButton의 텍스트 상하좌우정렬 (0) | 2015.01.12 |