uiimagePickerController didFinishPickingMediaWithInfo 在图像选择时没有被调用
imagePickerController didFinishPickingMediaWithInfo not getting called on Image Selection
在我下面的 class 中,imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
没有被调用,我不明白为什么。这是一个扩展JSQMessagesViewController
的class,不知道是否与它有关。
UIImagePickerController
未从情节提要中添加。我猜它是在扩展 JSQMessagesViewController
时添加的?(看不出来)
无论如何,我可以看到函数 actionSheet
确实调出了 imagePicker 相册,我可以 select 一张图片,但是 imagePicker 函数 didFinishPickingMediaWithInfo
永远不会被调用。
如何将此 class 指定为其委托?
Here is the complete class code(GitHub 上的这个示例可以运行,但我无法在我的项目中运行它,我缺少什么?)
class ChatViewController: JSQMessagesViewController, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
//DELETED THE REST OF THE CODE OF THIS CLASS TO KEEP THIS QUESTION LENGTH SHORT
func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int) {
NSLog("ChatViewController-> actionSheet(clickedButtonAtIndex)")
if buttonIndex != actionSheet.cancelButtonIndex {
if buttonIndex == 1 {
Camera.shouldStartCamera(self, canEdit: true, frontFacing: true)
} else if buttonIndex == 2 {
Camera.shouldStartPhotoLibrary(self, canEdit: true)
} else if buttonIndex == 3 {
Camera.shouldStartVideoLibrary(self, canEdit: true)
}
}
}
// MARK: - UIImagePickerControllerDelegate
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
//THIS FUNCTION NEVER GETS CALLED AFTER AN IMAGE IS SELECTED FROM THE PHOTO ALBUM
}
}
Camera.shouldStartPhotoLibrary
方法可能呈现 UIImagePickerController
。检查定义的位置。
在我下面的 class 中,imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
没有被调用,我不明白为什么。这是一个扩展JSQMessagesViewController
的class,不知道是否与它有关。
UIImagePickerController
未从情节提要中添加。我猜它是在扩展 JSQMessagesViewController
时添加的?(看不出来)
无论如何,我可以看到函数 actionSheet
确实调出了 imagePicker 相册,我可以 select 一张图片,但是 imagePicker 函数 didFinishPickingMediaWithInfo
永远不会被调用。
如何将此 class 指定为其委托?
Here is the complete class code(GitHub 上的这个示例可以运行,但我无法在我的项目中运行它,我缺少什么?)
class ChatViewController: JSQMessagesViewController, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
//DELETED THE REST OF THE CODE OF THIS CLASS TO KEEP THIS QUESTION LENGTH SHORT
func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int) {
NSLog("ChatViewController-> actionSheet(clickedButtonAtIndex)")
if buttonIndex != actionSheet.cancelButtonIndex {
if buttonIndex == 1 {
Camera.shouldStartCamera(self, canEdit: true, frontFacing: true)
} else if buttonIndex == 2 {
Camera.shouldStartPhotoLibrary(self, canEdit: true)
} else if buttonIndex == 3 {
Camera.shouldStartVideoLibrary(self, canEdit: true)
}
}
}
// MARK: - UIImagePickerControllerDelegate
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
//THIS FUNCTION NEVER GETS CALLED AFTER AN IMAGE IS SELECTED FROM THE PHOTO ALBUM
}
}
Camera.shouldStartPhotoLibrary
方法可能呈现 UIImagePickerController
。检查定义的位置。