我正在尝试使用ELCImagePickerController
构建应用。我发现我可以选择多张图片。但是,未调用ELCImagePickerController委托方法。
这是我的代码:
@IBAction func uploadImages(sender: AnyObject) {
// Create the alert controller
//var alertController = UIAlertController(title: "", message: "", preferredStyle: .Alert)
var alertController = UIAlertController(title: nil, message: nil, preferredStyle: .Alert)
// Create the actions
var takeAction = UIAlertAction(title: "Take Photos", style: UIAlertActionStyle.Default) {
UIAlertAction in
NSLog("Take Photos Pressed")
}
var selectAction = UIAlertAction(title: "Select Photos", style: UIAlertActionStyle.Default) {
UIAlertAction in
NSLog("Select photos Pressed")
var imagePicker = ELCImagePickerController(imagePicker: ())
imagePicker.maximumImagesCount = 2
imagePicker.returnsOriginalImage = false
imagePicker.returnsImage = true
imagePicker.onOrder = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
}
var cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) {
UIAlertAction in
NSLog("Cancel Pressed")
}
// Add the actions
alertController.addAction(takeAction)
alertController.addAction(selectAction)
alertController.addAction(cancelAction)
// Present the controller
self.presentViewController(alertController, animated: true, completion: nil)
}
}
func elcImagePickerController(picker: ELCImagePickerController!, didFinishPickingMediaWithInfo info:[AnyObject]!) {
NSLog("controller executed.")
}
答案 0 :(得分:1)
您需要设置ImagePicker委托
imagePicker.imagePickerDelegate = self
答案 1 :(得分:0)
您的NSLog语句是否会被调用?我在尾随闭包语法中注意到的一件事是您使用的是类型名称与该类型的变量。例如,您正在撰写UIAlertAction in ...
vs alertAction in ...
。您应该提供在闭包内使用的名称而不是类型本身。如果闭包的其余部分没有执行,则永远不会设置委托,因此永远不会调用委托方法。