将UIImageView从主视图移动到另一个 [英] moving the UIImageView from the main view to another

查看:103
本文介绍了将UIImageView从主视图移动到另一个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码可以很好地从画廊中选择图片并在同一视图中显示, 现在卡住的是,单击下一步"按钮时,会将选择的UIImageView转移到下一个活动

my code works fine in choosing the picture from the gallery and display it in the same view, what am stuck into now, is transferring that UIImageView chosen to the next activity when "next" button is clicked

这是打开图库的代码

@IBAction func gallery(sender: AnyObject) {
    if UIImagePickerController.availableMediaTypesForSourceType(.PhotoLibrary) != nil {
        picker.allowsEditing = false
        picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        presentViewController(picker, animated: true, completion: nil)
    }

}

这是在同一视图中显示图像的代码

this is the code that displays the image in the same view

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
        var chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
        imageChosen.contentMode = .ScaleAspectFit 
        imageChosen.image = chosenImage 
        dismissViewControllerAnimated(true, completion: nil) 

    }

现在将UIImageView保存在imageChosen中之后,这是用于将该图像传递到下一个视图的代码

now after the UIImageView saved in the imageChosen, here is the code am using to pass that image to the next view

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var pass:postView = segue.destinationViewController as! postView
    if(segue.identifier == "next"){
        pass.imgv.image = imageChosen.image
    }
}

这行代码导致程序崩溃

pass.imgv.image = imageChosen.image

第二个视图中的imgv声明如下

the imgv in the second view is declared like this

@IBOutlet weak var imgv: UIImageView!

我在这里做错什么,请指导我

what am i doing wrong here, please direct me

推荐答案

您不能在尚未渲染的视图中设置数据.因此,将图像传递到第二个视图,然后在secondView的viewDidLoad中将该图像设置为ImageView

  override func prepareForSegue(segue: (UIStoryboardSegue!), sender: AnyObject!) {
        if segue.identifier == "next" {
            var pass:second = segue.destinationViewController as! second
            pass.currentImage=myImageView.image;
        }
    }

//第二视图

class second: UIViewController {

    @IBOutlet weak var tempImgView: UIImageView!
    var currentImage:UIImage!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        if((currentImage) != nil){
            tempImgView.image=currentImage;
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

}

这篇关于将UIImageView从主视图移动到另一个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆