ios6中的shouldAutorotateToInterfaceOrientation

Posted

技术标签:

【中文标题】ios6中的shouldAutorotateToInterfaceOrientation【英文标题】:shouldAutorotateToInterfaceOrientation in ios6 【发布时间】:2012-11-08 11:02:05 【问题描述】:

我正在使用UIImagePickerviewController 通过以下附加代码打开照片库...在调用位行代码之后。应用程序崩溃了...它在ios5 中运行良好

UIImagePickerController* content = [[UIImagePickerController alloc] init];
content.delegate = self;
content.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:content animated:YES];
[content release];

这段代码有什么问题吗?

【问题讨论】:

我前几天也遇到了这个问题,让我看看我是怎么解决的。 我认为它与自动布局有关。您是否在放置 uiimagepicker 的视图上启用了自动布局? 哦,ios6 中不推荐使用 shouldAutoRotateToInterfaceOrientation:改用supportedInterfaceOrientations 和preferredInterfaceOrientationForPresentation 方法。 我已按照您给出的程序进行操作,但什么都不会发生,我的代码在这里而不是使用 shouldAutorotateToInterfaceOrientation:-(NSUInteger)supportedInterfaceOrientations return UIInterfaceOrientationMaskAll; - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation return UIInterfaceOrientationLandscapeRight; 【参考方案1】:

检查Crash on presenting UIImagePickerController under ios6 您将获得使UIImagePickerviewController 在iOS 6.0 上运行所需的一切。

【讨论】:

【参考方案2】:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

  popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
  [popover presentPopoverFromRect:cameraButton.frame inView:self.view  
  permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

else
 [self presentModalViewController:imagePicker animated:YES];

【讨论】:

【参考方案3】:

我有同样的问题。因为UIImagePicker 以纵向模式显示。 我通过继承UIImagePicker 并实现shouldAutorotate 方法来修复它,例如:

- (BOOL)shouldAutorotate

    return NO;

我创建了我的子类 imagePicker 的实例而不是 UIImagePicker,一切正常。希望这会对你有所帮助。

【讨论】:

最后我解决了这个方向问题并通过 UIImagePicker 的子类使应用程序崩溃,并且我包含了以下方法 - (BOOL)shouldAutorotate return NO; @StalinPusparaj:如果它解决了您的问题,我不会得到 +1 :)。请接受答案:) 因此,当我们投赞成票时,我们通常会说 +1 :) 这就是我想的原因。好的哥们儿。无论如何感谢您的评论:) @StalinPusparaj:如果有效,请接受答案:) 嗨它在 ios6 上对我不起作用。知道我该怎么做吗?它仍然旋转选择器

以上是关于ios6中的shouldAutorotateToInterfaceOrientation的主要内容,如果未能解决你的问题,请参考以下文章

ios6中的解雇modalViewcontroller错误

iOS6 UIWebView 中的第 3 方 cookie

iOS6 中的 UISlider 自定义问题

iOS6 中的短信通知

ios6中的shouldAutorotateToInterfaceOrientation

iOS6中的谷歌地图[关闭]