2014-01-20 2 views
-1

Я хочу встроить контроллер дополненной реальности в настраиваемый контроллер представления, и я делаю это в методе viewDidLoad пользовательского контроллера.Контроллер AugmentedReality в пользовательский контроллер

Эти строки делает работу для меня:

_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]; 

Все отлично работает, когда я получаю в контроллер в портретном режиме и поверните устройство.

Хотя, когда я вхожу в контроллер в ландшафтном режиме и поворачиваю устройство на портрете, камера показывает мне только половину обзора, а остальное пустое.

Если я заменяю 3 последних строки кода выше и нажимаю _arViewController на self.navigationController, все работает отлично для обеих ориентаций.

Может ли кто-нибудь помочь мне с этой проблемой? Я предпочитаю не толкать arController, а иметь его в customViewController.

Проект, который я встраивается в мое приложение ниже:

iPhone -AR - Toolkit

ответ

2

Прежде всего смотреть на яблоко referce, он имеет некоторые свойства, которые могут помочь вам при вращении блока: https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

На мой взгляд, что-то вроде этого может вам помочь, просто добавьте метод в .m-файл и правильно выполните его.

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
{ 
      [_arViewController.view setFrame:self.view.frame]; 
} 
+0

спасибо, что помогли! – hoya21

Смежные вопросы