1

写真を撮ったり、ライブラリから選択したりするiPadアプリを開発しています。問題なく動作します。唯一の問題は、以下の手順に従うと、カメラのレイアウトが正しくないことです。

  1. リスト項目
  2. btnPhotoLibraryボタンをタップ
  3. ポップオーバーをキャンセル
  4. btnカメラボタンをタップ

結果のレイアウトは、 popover からフルスクリーン モーダルを開いたときの Camera の画像と非常によく似て います。

画面の境界より少し下に配置されます。これは、下部のコントロールが画面の 20 ピクセル南にあり、画面の上部に 20 ピクセルの黒い帯があることを意味します。

btnPhotoLibrary をタップせず、btnCamera のみをタップしても問題ありません。

カメラとフォトライブラリの両方に同じ UIImagePickerController インスタンスを使用しているため、おそらくカメラとして使用する前にいくつかのプロパティをリセットする必要がありますが、方法が見つかりませんでした。

--

- (void)viewDidLoad {
    [super viewDidLoad];
    _imagePicker = [[UIImagePickerController alloc]init];
    _imagePicker.allowsEditing = FALSE;
    _imagePicker.delegate = self;
}

-(IBAction)btnCamera:(id)sender{
    if ([popover isPopoverVisible]) {
        [popover dismissPopoverAnimated:YES];
    }
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
        _imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        [self presentViewController:_imagePicker animated:YES completion:nil];
    }
}

-(IBAction)btnPhotoLibrary:(id)sender{
    _imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;    
    if ([popover isPopoverVisible]) {
        [popover dismissPopoverAnimated:YES];
    }
    popover = [[UIPopoverController alloc] initWithContentViewController:_imagePicker];
    [popover presentPopoverFromRect:btnCameraRoll.bounds inView:btnPhotoLibrary permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
}

対象OSはiOS6.1、横表示です。前もって感謝します。

4

1 に答える 1