【发布时间】:2012-06-06 06:12:47
【问题描述】:
在我的 iPad 应用程序中,我创建了一个模态视图并调整其大小,如下所示:
ModalViewController *modalController = [[WishlistInfoViewController alloc] initWithNibName:@"WishlistInfoViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:modalController];
navController.modalPresentationStyle = UIModalPresentationPageSheet;
self presentViewController:navController animated:YES completion:nil];
navController.view.superview.bounds = CGRectMake(0, 0, 700, 700);
navController.view.superview.center = CGPointMake(self.view.center.x, self.view.center.y + 35);
在该模态视图中,我像这样启动相机:
UIImagePickerController *mypicker = [[UIImagePickerController alloc] init];
mypicker.delegate = self;
mypicker.allowsEditing = NO;
mypicker.sourceType = UIImagePickerControllerSourceTypeCamera;
mypicker.showsCameraControls = YES;
mypicker.wantsFullScreenLayout = YES;
[self.navigationController presentModalViewController:mypicker animated:YES];
我这样关闭相机:
[self dismissModalViewControllerAnimated:TRUE];
问题是当我关闭相机时,模态视图的大小会被调整以填满整个屏幕。我能做些什么来防止模态视图调整大小?
【问题讨论】:
-
记录大小的值并检查它到底在哪里增加,我的意思是在什么时候。尝试改为 NO,mypicker.wantsFullScreenLayout = NO;
-
你在哪里调用dismissModalViewController?这可能与您的确切问题无关,但是您应该尝试始终在调用第一个模态视图的视图中关闭。您可以使用委托或使用 parentViewController 来做到这一点。
-
我已经尝试过 WantsFullScreenLayout = NO,但它什么也没做,我已经尝试从两个视图中解散,但仍然没有。我确实尝试使用 [self.view.window addSubview:mypicker.view] 调用它并且可以正常工作,但是我遇到了相机视图中的旋转问题。
标签: objective-c ios xcode cocoa-touch ipad