![](/img/trans.png)
[英]swift my UIImagePicker doesn't show any image on select image from photo library
[英]Selecting image from library doesn't call “didFinishPickingImage” function - Swift
我有一个UIImagePickerController,可以选择从库中选择。
调用accessLibrary
按钮时,它会提示另一个源类型为.PhotoLibrary
UIImagePickerController。
func accessLibrary(sender: UIButton!) {
NSLog("access library")
choseFromLibrary = true
self.libraryPicker = UIImagePickerController()
self.libraryPicker!.allowsEditing = false
self.libraryPicker!.sourceType = .PhotoLibrary
self.presentViewController(self.libraryPicker!, animated: true, completion: nil)
}
这一切都很好,但是当用户选择照片时,我想将该图像传递给视图,然后在屏幕上显示该视图。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
var image = info[UIImagePickerControllerOriginalImage] as? UIImage
if (image != nil) {
if (choseFromLibrary) {
let cnfrmImgView = ConfirmImageView.init(image: image!)
self.view.addSubview(cnfrmImgView)
}
else {
if (frontFacing) {
image! = UIImage(CGImage: image!.CGImage!, scale: 1.0, orientation: .LeftMirrored)
}
let cnfrmImgView = ConfirmImageView.init(image: image!)
self.view.addSubview(cnfrmImgView)
}
}
}
如果使用相机而非库拍摄图像,则上述功能有效。
当用户从图库中选择照片时,图库选择器控制器将自动关闭自身,并且不会显示视图。
我运行了一个NSLog("here")
来检查从库中选择时是否调用了didFinishPickingImageWithInfo
函数,而实际上却没有。
didFinishPickingImageWithInfo
是一个委托消息( UIImagePickerControllerDelegate )。 但是,问题是您没有给图像选择器任何delegate
! 因此,它没有人向其发送委托消息。
如果您想实现像图像选择器这样的Instagram,而不是尝试此操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.