0

私はこのコードで 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を追加したかったのですが、ここで立ち往生しているため、値が変わらないとオブザーバーは機能しません。

4

2 に答える 2

2

focusPointOfInterestCGPointは、s で構成される型CGFloatです。%fの代わりに試してください%d

于 2011-01-19T04:20:52.860 に答える
0

NSStringFromCGPointCGPoint (または他の CGxxx 構造体) をログに記録するときに使用することをお勧めします。

NSLog(@"Camera focus point of interest: %@",
        NSStringFromCGPoint(device.focusPointOfInterest);
于 2015-11-02T09:47:25.650 に答える