2012-12-16 8 views
9

私はAVFoundationを使用してカスタムカメラでいくつかの実験を行ってきましたが、これまでのところすべてが素晴らしかったです。 AVCamの例で私は非常に遠くにいて、私は結果に満足しています。iOS 6カメラの回転を模倣する

しかし、私がまだ得られないことの1つは、iOSのデフォルトカメラアプリがどのように回転を処理するかです。背景がまったく回転していないようですが、すべてのオーバーレイコントロールがそうです。

これはおそらくカメラ固有の質問ではありませんが、どうすればこの問題を解決できますか?

TLDR:バックグラウンドレイヤを回転させずにコントロールを回転させるには、バックグラウンドカメラレイヤー、上部コントロール、上部コントロールを使用しますか?私は同じに思ってきた

+1

(灰色の位置の切り替えをフェージングボタン、ツールバーのボタンの画像回転)[UIDevice beginGeneratingDeviceOrientationNotifications]を呼び出し、特定のUIの更新を処理する必要があります:期間を:'、手動ですべてのコントロールのサイズを変更します。希望の効果を得るには少し微調整が必​​要かもしれませんが、いつも私のために働いています。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html – Greg

+0

また、ハッキリした方法でカメラのビューをルートの「UIWindow」に挿入することもできますビューコントローラが透明になるようにビューコントローラをバックグラウンドに設定すると、ビューコントローラは回転しますがウィンドウは表示されず、ウィンドウ内のカメラビューもその背後に表示されます。 – Greg

+0

あなたの最初の提案は私の最初の考えでした、私はおそらくそれと一緒に行くでしょう。子供のビューの回転機能は、親の回転機能の適切なサブセットでなければならないので、2番目のものはiOS6以降での作業になります。 – defer

答えて

1

...

私の推測では、あろうことのViewControllerがUIViewController回転機構

  • なしステータスバーの回転を利用して回転しないネイティブカメラ
  • サブビューの「基本的な」回転はありません - ツールバーは動かず、ボタンはアニメーションされます
  • もちろん、カメラプレビューを含むビューは回転しません:)

むしろそれはあなたが `willAnimateRotationToInterfaceOrientationオーバーライドすることができます

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(yourUpdateMethodForRotation:) notificationName: UIDeviceOrientationDidChangeNotification]; 
関連する問題