仅关闭ImagePicker并将图像传递给ScrollViewController

问题描述:

我有一个ImagePicker,在ScrollViewController呈现(1)后显示。仅关闭ImagePicker并将图像传递给ScrollViewController

问:

一旦图像从ImagePicker摘下来,我怎么解雇 只是ImagePicker使得ScrollViewController显示,然后通过被拍摄到 ScrollViewController

(1)呈现ScrollViewControllerImagePicker

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("ScrollViewControllerID") as! ScrollViewController 
self.presentViewController(vc, animated: true) { 
    let imagePicker = MyImagePickerController() 
    imagePicker.delegate = self 
    imagePicker.sourceType = .PhotoLibrary 
    imagePicker.allowsEditing = false 
    imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical 
    vc.presentViewController(imagePicker, animated: true, completion: nil) 
} 

处理ImagePicker它是封闭

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     let myImage = info[UIImagePickerControllerOriginalImage] as! UIImage 

//How to send myImage to the ScrollViewController and close ImagePicker? 

} 

MyImagePickerController后

class MyImagePickerController: ... { 

    var controller:ScrollViewController! 

    convenience init(controller: ScrollViewController) { 
     self.init() 
     self.controller = controller 
    } 

} 

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    let myImage = info[UIImagePickerControllerOriginalImage] as! UIImage 

    controller.imageName = myImage 
    self.dismissViewControllerAnimated(true, completion: nil) 

} 

这是你如何运用它

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("ScrollViewControllerID") as! ScrollViewController 
self.presentViewController(vc, animated: true) { 
    let imagePicker = MyImagePickerController(controller: vc) 
    imagePicker.delegate = self 
    imagePicker.sourceType = .PhotoLibrary 
    imagePicker.allowsEditing = false 
    imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical 
    vc.presentViewController(imagePicker, animated: true, completion: nil) 
} 
+0

谢谢,我要在此一展身手。我能更好地理解这部分究竟做了什么? '方便初始化(控制器:ScrollViewController){self.controller =控制器}' – user4806509

+0

它提供了你自己的自定义初始化程序,一个'便利的初始化程序',它可以让你接受你自己的变量。然后用这些vrariables你可以访问其他类的东西。所以你把前一个控制器作为一个变量,然后你可以使用'controller.items'或'controller.myImage'来访问前一个控制器的项目。合理? – impression7vx

+0

Thanks @ impression7vx但是,代码的哪一部分会取消“ImagePicker”,但会在屏幕上保留“ScrollViewController”? – user4806509