我正在为iPad Pro创建一个应用程序。它仅用于横向模式。这个获取imageView应用程序的照片,我使用UIImagePickerController。
点击UIImagePickerController
:
我一直在研究UIImagePickerController的文档,其中一个重要的事实是:
来自Docs:
UIImagePickerController类仅支持纵向模式。此类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改,但有一个例外。您可以将自定义视图分配给cameraOverlayView属性,并使用该视图显示其他信息或管理相机界面与代码之间的交互。
我发现在横向模式下显示UIImagePickerController
的解决方案显示为Popover。
我有什么:
这是一个项目示例
我的故事板:
http://i.stack.imgur.com/rUckK.png
我的Swift代码:
import UIKit
class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
@IBOutlet var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .Landscape
}
@IBOutlet var itemBarButton: UIBarButtonItem!
@IBAction func getImageButton(sender: UIBarButtonItem) {
let image = UIImagePickerController()
image.delegate = self
image.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
image.view.autoresizingMask = [.FlexibleHeight, .FlexibleWidth]
image.modalPresentationStyle = .Popover
image.popoverPresentationController?.barButtonItem = sender
self.presentViewController(image, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let theInfo: NSDictionary = info as NSDictionary
let img: UIImage = theInfo.objectForKey(UIImagePickerControllerOriginalImage) as! UIImage
imageView.image = img
self.dismissViewControllerAnimated(true, completion: nil)
}
}
我的问题是:
知道我无法在横向显示UIImagePickerController,我可以更改Popover中显示的UIImagePickerController的大小吗?
如果答案是肯定的,我该怎么做?
我尝试使用image.view.frame,但没有得到改变。