独自のスタイルでビデオ フレームをキャプチャするために UIImagePickerController をカスタマイズしました。以下のようなUIImagePickerControllerを作成しました。
self.iPicker = [[[UIImagePickerController alloc] init] autorelease];
self.iPicker.delegate = self;
self.iPicker.sourceType = sourceType;
self.iPicker.showsCameraControls = NO;
self.iPicker.allowsEditing = YES;
self.iPicker.wantsFullScreenLayout = YES;
self.iPicker.navigationBarHidden = YES;
self.iPicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:
UIImagePickerControllerSourceTypeCamera];
self.iPicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
self.iPicker.videoQuality = UIImagePickerControllerQualityTypeHigh;
しかし、録画ボタンをクリックする前にキャプチャ画面をダブルタップすると、キャプチャ フレーム サイズが網膜サイズに変更されます。やり直せば元の大きさに戻ります。ピッカーコントローラーでそのような動作をしたくありません。ユーザーが設定メニューからビデオ品質を選択するときに、ピッカーのサイズを変更したいと考えています。
誰もが知っているように、UIImagePickerController オブジェクトのビデオ キャプチャ サイズには 6 つの品質タイプがあります。以下のようなものです。
typedef NS_ENUM(NSInteger, UIImagePickerControllerQualityType) {
UIImagePickerControllerQualityTypeHigh = 0, // highest quality
UIImagePickerControllerQualityTypeMedium = 1, // medium quality, suitable for transmission via Wi-Fi
UIImagePickerControllerQualityTypeLow = 2, // lowest quality, suitable for tranmission via cellular network
UIImagePickerControllerQualityType640x480 = 3, // VGA quality
UIImagePickerControllerQualityTypeIFrame1280x720 = 4,
UIImagePickerControllerQualityTypeIFrame960x540 = 5
};
自動変更動作の問題を解決するのを手伝ってください。