我有一个带有此代码的IBAction:
.h文件:
AVCaptureDevice *device;
.m文件:
- (IBAction)focusInfo {
if (device == nil) {
device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
}
NSLog(@"Camera focus point of interest: %d, %d", device.focusPointOfInterest.x, device.focusPointOfInterest.y);
}
这与CustomCameraOverlay上的按钮相关联。当我在移动相机的同时按下按钮时没有任何变化。控制台日志始终是相同的:
Camera focus point of interest: 0, 1071644672
为什么在相机更换焦点时不会改变?我做错了什么?我也试图获得属性isAdjustingFocus,但它也没有改变。
我想为这些属性添加Obserwer,但是如果值不会改变,那么观察者将无法工作。
答案 0 :(得分:2)
focusPointOfInterest
属于CGPoint
类型,由CGFloat
组成。请尝试使用%f
代替%d
。
答案 1 :(得分:0)
在记录CGPoint(或其他CGxxx结构)时最好使用NSStringFromCGPoint
NSLog(@"Camera focus point of interest: %@",
NSStringFromCGPoint(device.focusPointOfInterest);