1. 등록하기
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
AVCaptureDevice *camDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
int flags = NSKeyValueObservingOptionNew;
[camDevice addObserver:self forKeyPath:@"adjustingFocus" options:flags context:nil];
}
2. 해제하기
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
AVCaptureDevice *camDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[camDevice removeObserver:self forKeyPath:@"adjustingFocus"];
}
3. 사용하기
#pragma mark - focus observer
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if( [keyPath isEqualToString:@"adjustingFocus"] )
{
BOOL adjustingFocus = [ [change objectForKey:NSKeyValueChangeNewKey] isEqualToNumber:[NSNumber numberWithInt:1] ];
if (adjustingFocus)
{
// 포커스 맞추는 중
}
else
{
// 포커스를 맞추고 있지 않는상태 (포커스가 맞춰진 상태)
}
}
}
'프로그래밍 > iOS' 카테고리의 다른 글
[Xcode]Xcode6에서 Category 파일 생성 (0) | 2015.04.09 |
---|---|
[ios] 한 파일에 NSString 여러번 저장하기 (0) | 2015.04.09 |
[XCode6][iOS] deviceOrientation에 따른 뷰 설정 (0) | 2015.04.09 |
[iOS] 프로젝트에 설정한 버전 가져오기 (0) | 2015.04.09 |
[iOS] 아이폰5, 6, 6+ 해상도 (0) | 2015.04.09 |