0

UIPopOverController の UIButton からフォト アルバムとカメラを表示しています。で実行中に提示すると、どちらも正常にiPad1動作しiOS 5.1ます。

で同じことをiPad2実行するiOS 6.0と、カメラは正常に動作しますが、下の画像のようにフォト アルバムがクラッシュします。また、アプリは横長のアプリであることに注意してください。

ここに画像の説明を入力

私が使用しているコードは

 //imgPicker.contentSizeForViewInPopover = CGSizeMake(320, 500);
self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
popOver.delegate = self;
[self.popOver presentPopoverFromRect:importFromPhotosBtn.frame
                              inView:importFromPhotosBtn
            permittedArrowDirections:UIPopoverArrowDirectionAny
                            animated:YES];

何が間違っていたのか誰か教えてください。私はこれに半日以上悩まされました。タイムリーなヘルプは、はるかに高く評価されます。

4

2 に答える 2

1

UIImagePickerはポートレートモードでサポートされています。アプリケーションはランドスケープモードのみをサポートしているため、問題が発生します。

解決:

  1. サブクラスUIImagePickerクラス
  2. サブクラスにshouldAutorotateを実装する

     - (BOOL)shouldAutorotate
    {
       return NO;
    }
    
  3. UIImagePickerの代わりにピッカーを作成するには、このサブクラス化されたUIImagePickerクラスを使用します

于 2012-11-30T11:44:40.467 に答える
0

@Midhum MPの手がかりをありがとう、実際の問題は、私がpopOverを提示したフレームでした。

popOverサイズですが、320 x 500(221, 360) を元に含む rect から提示していたので、サイズがめちゃくちゃ (500 + 360 で、iPad ht の横長 (768) より大きい) です。

しかし、なぜそれが iPad1(iOS 5.1) で動作し、iPad2 (iOS 6) で動作しないのかはわかりません!

そのため、現在は正常に機能する提示四角形を(そのような混乱がないように)変更しました。問題を修正しました。

于 2012-11-30T12:03:05.723 に答える