Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iPhone-忽略视图问题_Objective C_Xcode_Ios4_Uiviewcontroller_Modalviewcontroller - Fatal编程技术网

Objective c iPhone-忽略视图问题

Objective c iPhone-忽略视图问题,objective-c,xcode,ios4,uiviewcontroller,modalviewcontroller,Objective C,Xcode,Ios4,Uiviewcontroller,Modalviewcontroller,我正在看一些使用ARKIT的增强现实示例。我试图在相机视图的顶部添加一个按钮来关闭它,所以它会转到上一个屏幕。当我尝试关闭视图时,摄影机将关闭并在摄影机快门关闭动画处冻结/停止。(在这一点上,我仍然可以看到按钮,如果我再次按下它,应用程序就会崩溃) 当前设置如下所示:主菜单视图->ARViewController->增强现实控制器。也许有人能告诉我哪里出了问题?或者如果有更简单的方法强制关闭所有视图并显示主菜单 下面是一些代码: 主菜单 if([ARKit deviceSupportsAR])

我正在看一些使用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]];
}

(项目的原始源代码)

不确定它是否能解决您的问题,但您应该尝试只使用DismissModalViewController一次,并且也可以使用

[self dismissModalViewControllerAnimated:YES]; 
希望这将有助于