iPhone - Отклонить проблему просмотра - PullRequest
0 голосов
/ 02 сентября 2011

Я смотрю на примеры дополненной реальности, используя ARKIT. Я пытаюсь добавить кнопку в верхней части экрана камеры, чтобы закрыть ее, чтобы она перешла на предыдущий экран. Когда я пытаюсь отклонить вид, камера выключается и останавливается / останавливается на анимации закрытия затвора камеры. (в этот момент я все еще вижу кнопку, если я нажимаю ее снова, приложение вылетает).

Текущая настройка выглядит следующим образом: Вид главного меню -> ARViewController -> Контроллер дополненной реальности. Может быть, кто-то может сказать мне, где я иду не так? или как, если есть более простой способ принудительно закрыть все виды и отобразить главное меню.

Вот код:

Главное меню

if([ARKit deviceSupportsAR])
{
    ARViewController *viewController = [[ARViewController alloc] initWithDataSource:self];
    viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:viewController animated:YES];
    [viewController release];
}

ARViewController

.h
AugmentedRealityController  *agController;

.m
 - (void)loadView {
self.agController = [[AugmentedRealityController alloc] initWithViewController:self];}

- (void)viewDidAppear:(BOOL)animated 
{
  [agController displayAR];
}

- (void) scanButtonPressed {       //action when button is pressed
    [agController hideAR];     //dismiss camera
    [self dismissModalViewControllerAnimated:YES]; //dismiss current view
}

Контроллер дополненной реальности

- (void) hideAR {
    [[self locationManager] stopUpdatingHeading];
    [[self locationManager] stopUpdatingLocation];

    [[self accelerometerManager] release];

    [rootViewController dismissModalViewControllerAnimated:YES];
}

// This is needed to start showing the Camera of the Augemented Reality Toolkit.
-(void) displayAR {     
    [rootViewController presentModalViewController:[self cameraController] animated:NO];
    [displayView setFrame:[[[self cameraController] view] bounds]];
}

(исходный код проекта https://github.com/kypselia/ARKit/blob/d4c018ce74e7c1abd786b6faa71d76435e52246f/ARKit/ARViewController.m)

1 Ответ

0 голосов
/ 06 сентября 2011

Не уверен, что это может решить вашу проблему, но вы должны попытаться использовать dismissModalViewControllerAnimated только один раз, и это также с использованием

[self dismissModalViewControllerAnimated:YES]; 

Надеюсь, это поможет ...

...