Programming/iOS - ObjC
아이폰 흔들기(shaking) 검사
Tez.Park
2010. 12. 28. 09:40
<아이폰 흔들기(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 메소드에 사용자의 흔들기가 끝난 후 실행할 코드를 추가하면, 간단하게 흔들기시 동작을 설정할 수 있다.
반응형