<아이폰 흔들기(shaking) 검사>
1. First responder 되기
사용자의 흔들기 이벤트를 처리할 ViewController는 그 자신이 First responder가 되어야 한다.
becomFirstResponder 메소드를 호출하고 canBecomeFirstResponder 메소드에서 YES를 반환.
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
viewDidAppear는 코드에서 서브뷰로 추가될 때만 호출된다.
IB(Interface Builder)에서 바로 Window에 View를 추가하였으면 awakeFromNib등의 메소드에서 becomFirstResponder를 호출해야한다.
2. motion 메소드 구현
사용자의 흔들기가 시작되면 해당 motionBegan이 호출되고 종료될 때 motionEnded가 호출된다.
지나치게 많이 흔들거나 하여 유효하지 않은 흔들기로 판단될 때는 motionCancelled가 호출된다.
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"Shaking start");
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"Shaking end");
}
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"Shaking cancel");
}
motionEnded 메소드에 사용자의 흔들기가 끝난 후 실행할 코드를 추가하면, 간단하게 흔들기시 동작을 설정할 수 있다.
반응형
'Programming > iOS - ObjC' 카테고리의 다른 글
CLLocationManager - 간단한 예제 (0) | 2014.06.10 |
---|---|
NSDate - 현재날짜와 시간 포메팅 (0) | 2014.06.10 |
UITextView - 내용추가하고 자동으로 스크롤 내리기 (0) | 2014.06.10 |
NSArray내의 NSDictionary 그룹별로 추출하기 (2) | 2011.01.27 |
UINavigationController - 이전 뷰로 이동 (0) | 2011.01.14 |
뷰의 터치이벤트 (0) | 2010.12.14 |
UINavigationController - 모달뷰 (0) | 2010.12.13 |
NSString - 문자열에 공백제거 (0) | 2010.12.13 |
UITextField - 키보드 설정 (0) | 2010.12.13 |
UITableView - 자동으로 스크롤되면서 최상위로 이동 (0) | 2010.12.13 |