iPad選擇照片時的問題
如果你指定了Devices為iPhone,那么iPad仍然可以以模擬方式運行APP,但是在使用UIImagePickerController選擇照片時,有可能出現(xiàn)縮略圖無法顯示的Bug(如圖),這個應該是官方的Bug。
1.png
解決方案A:不限制設備類型
TARGETS - Deployment Info - Devices :Universal
這樣意味著你的App要完全兼容和適配iPad,代碼改動量較大。
解決方案B:使用Photokit或第三方類庫
目前我用的是一個OC的類庫:https://github.com/banchichen/TZImagePickerController
遺憾的是Swift需要橋接了。為了不影響之前的體驗,當判斷為iPad時再調(diào)用這個類庫方法來選擇圖片。如:
func pushImagePickerView() {
func setColorAndPresent(controller: UINavigationController) {
controller.navigationBar.tintColor = navigationController?.navigationBar.tintColor
controller.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
controller.navigationBar.barTintColor = navigationController?.navigationBar.barTintColor
presentViewController(controller, animated: true, completion: nil)
}
if Device.type() == .iPad {
let controller = TZImagePickerController(maxImagesCount: 1, columnNumber: 4, delegate: self)
controller.allowPickingVideo = false
controller.allowTakePicture = false
controller.allowPickingOriginalPhoto = false
controller.oKButtonTitleColorNormal = UIColor.whiteColor()
setColorAndPresent(controller)
} else {
let controller = UIImagePickerController()
controller.sourceType = .PhotoLibrary
controller.delegate = self
setColorAndPresent(controller)
}
}
其中 { Device.type() == .iPad } 使用了第三方類Device,你可以換用自己的方法。
文中如有不妥之處,歡迎指正!