我试图提出一个ImagePicker
,然后在用户选择图像后,呈现图像编辑ViewController
用户可以在其中操作图像,然后将编辑后的图像发送回原始图像ViewController
.
问题:
是否有一种标准或最佳实践方法从初始 ViewControlle 开始,然后在另一个 ViewController 后呈现一个 ImagePicker 来进行图像编辑,然后将其全部显示回初始 ViewController,同时进行转换
看起来无缝吗?
下面尝试 3 中的建议是一个很好的实践方法吗?或者是否有更好的示例来说明如何实现这一目标?
Try 1.
我最初的想法是展示ImagePicker
通过下面的代码以编程方式进行,然后进行图像编辑ViewController
选择图像后。但这种做法似乎并不正确。我似乎无法得到ImagePicker
正确地继续到ViewController
选取图像后。 (一堆“在展开可选值时意外发现 nil”显示编辑错误ViewController
.)
let imagePicker = MyImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = false
imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
self.presentViewController(imagePicker, animated: true, completion: nil)
Try 2.
我的第二次尝试是呈现图像编辑ViewController
作为隐藏/透明,紧接着ImagePicker
已加载 ,但这会导致空背景的一些闪烁。
Try 3.
所以我遇到了这个建议,这是我第二次尝试使用窗口背景来显示当前图像的变体ViewController
这似乎是可能的。http://xissburg.com/presenting-multiple-modal-view-controllers-at-once/ http://xissburg.com/presenting-multiple-modal-view-controllers-at-once/
Try 4.
我的另一个想法是创建一个单独的ViewController
只处理一个ImagePicker
,然后连接每个ViewController
通过界面生成器中的 segues。
你第一次尝试过这样吗ViewController
显示选择器viewDidLoad
没有呈现动画。
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = false
imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
self.presentViewController(imagePicker, animated: false, completion: nil)
Now on
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
}
dismissViewControllerAnimated(true, completion: {
//Present your custom editing controller also create `protocol/delegate` for getting editing image back.
})
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)