【发布时间】:2017-01-19 20:09:53
【问题描述】:
当用户拍照并点击使用照片按钮时,为什么不调用第二个函数?视图被关闭,但打印语句不起作用并且函数未被调用。
@IBAction func openCamera(_ sender: UIBarButtonItem)
{
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.camera;
imagePicker.allowsEditing = false
self.present(imagePicker, animated: true, completion: nil)
}
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
print("made it")
createImage(image: image)
self.dismiss(animated: true, completion: nil);
}
【问题讨论】:
-
您是否将视图设为委托?你有 imagePicker.delegate = self 某处(可能是 viewDidLoad)吗?
-
在第一种方法@dfd
-
抱歉,错过了。我看到的唯一另一件事是这是您的第二次覆盖。你在使用 Swift 3 吗?如果是这样,那就是 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
-
是的,我正在使用 swift 3。谢谢@dfd
-
我会将我的代码放入答案中。据我所知,你现在几乎是正确的。
标签: ios swift function camera uiimagepickercontroller