【问题标题】:Launching camera from modal view causes unwanted resize on iPad从模态视图启动相机会导致 iPad 上不必要的调整大小
【发布时间】: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


【解决方案1】:

好的,所以我解决了我的问题,但只是在调用 [self dismissModalViewControllerAnimated:YES]; 后立即重置视图的大小。我不知道为什么我直到现在才尝试这个。

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多