-1

拡張現実コントローラをカスタム ビュー コントローラに埋め込みたいのですが、これをカスタム コントローラの viewDidLoad メソッドにします。

これらの行は私のために仕事をします:

_arViewController = [[ARViewController alloc] initWithDelegate:self];
_arViewController.showsCloseButton = false;
[_arViewController setRadarRange:60];
[_arViewController setOnlyShowItemsWithinRadarRange:YES];


[self addChildViewController:_arViewController];
[[self view] addSubview:[_arViewController view]];
[_arViewController didMoveToParentViewController:self];

ポートレートモードでコントローラーに入ってデバイスを回転させると、すべて正常に動作します。

横向きモードでコントローラーに入り、デバイスを縦向きに回転させると、カメラにはビューの 1/2 しか表示されず、残りは空白になります。

上記のコードの最後の 3 行を置き換えて、_arViewController を self.navigationController に再度プッシュすると、両方の向きですべて正常に動作します。

誰でもこの問題で私を助けることができますか? 私はarControllerをプッシュするのではなく、customViewControllerに入れたいと思っています。

アプリに埋め込んだプロジェクトは次のとおりです。

iPhone -AR - ツールキット

4

1 に答える 1

2

まず、Apple リファレンスを見てください。ブロック ローテーションに役立つプロパティがいくつかあります

私の観点では、このようなものが役立つかもしれません.mファイルにメソッドを追加して正しく実装するだけです

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
            [_arViewController.view setFrame:self.view.frame];
}
于 2014-01-20T14:00:39.060 に答える