【发布时间】:2015-10-28 23:32:32
【问题描述】:
我正在尝试在装有 iOS 9 beta 4 和 Swift 的 iPad 上以弹出框的形式展示照片库。首选方式是通过弹出框,但 UIPopoverController 现在已弃用。显然它现在是通过UIViewController 完成的,但是我找不到任何文档或示例代码。任何帮助将不胜感激!
谢谢!
【问题讨论】:
标签: ios swift ipad uiviewcontroller
我正在尝试在装有 iOS 9 beta 4 和 Swift 的 iPad 上以弹出框的形式展示照片库。首选方式是通过弹出框,但 UIPopoverController 现在已弃用。显然它现在是通过UIViewController 完成的,但是我找不到任何文档或示例代码。任何帮助将不胜感激!
谢谢!
【问题讨论】:
标签: ios swift ipad uiviewcontroller
上面的答案几乎是正确的,只是popoverPresentationController中的锚必须在调用presentViewController()之前设置:
let myPicker = UIImagePickerController()
myPicker.delegate = self
myPicker.sourceType = .PhotoLibrary
myPicker.modalPresentationStyle = .Popover
let ppc = myPicker.popoverPresentationController
ppc?.barButtonItem = sender as? UIBarButtonItem
ppc?.permittedArrowDirection = .Any
presentViewController(myPicker, animated: true, completion: nil)
【讨论】:
我还没有在这里讨论图像选择器响应的委托和处理,这篇文章的目的只是考虑 UIImagePickerController 的使用,而不是求助于已弃用的类和方法。
let myPicker = UIImagePickerController()
myPicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
myPicker.modalPresentationStyle = UIModalPresentationStyle.Popover
self.presentViewController(myPicker, animated: true, completion: nil)
let popper = myPicker.popoverPresentationController
// returns a UIPopoverPresentationController
popper?.barButtonItem = sender as? UIBarButtonItem
如果需要请更正
【讨论】:
只需在调用imagepicker的函数中添加imagePicker.delegate = self
【讨论】: