在 Swift 中将图像视图从一个视图控制器转移到另一个视图控制器

Posted

技术标签:

【中文标题】在 Swift 中将图像视图从一个视图控制器转移到另一个视图控制器【英文标题】:Transfer Image View from one View Controller to another in Swift 【发布时间】:2015-03-21 19:00:15 【问题描述】:

今天下午我一直在 Xcode 中摸索相机应用程序,但遇到了障碍。我正在寻找使用 prepareForSegue 方法将图像视图从相机传输到 ViewController。使用 Camera 类中的其余代码,我可以成功地将图像显示到故事板上的图像视图中,所以这不是问题。问题是将其显示到主 ViewController 中的图像视图中。我在情节提要中正确连接了所有内容。感谢您的帮助!

第一个视图控制器:

class ViewController: UIViewController 

@IBOutlet weak var photoViewData: UIImageView!

 

第二个视图控制器:

class Camera: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate 

@IBOutlet var imageView:UIImageView!
@IBOutlet var takePictureButton:UIButton!
var moviePlayerController: MPMoviePlayerController?
var image:UIImage?
var movieURL: NSURL?
var lastChosenMediaType: String?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
    var destViewController: ViewController = segue.destinationViewController as ViewController

    destViewController.photoViewData = imageView

【问题讨论】:

【参考方案1】:

我认为在控制器之间传递 UIImage 会更好。

class ViewController: UIViewController 


 strong var photo: UIImage!

 override function viewDidLoad()
 
   if(self.photo)
   self.imageView.image = photo;
 
 

class Camera: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate 


   @IBOutlet var imageView:UIImageView!
   @IBOutlet var takePictureButton:UIButton!
   var moviePlayerController: MPMoviePlayerController?
   var image:UIImage?
   var movieURL: NSURL?
   var lastChosenMediaType: String?

   override func prepareForSegue(segue: UIStoryboardSegue, sender:AnyObject?)
   
      var destViewController: ViewController = segue.destinationViewController as ViewController

      destViewController.photo = imageView.image
   

【讨论】:

传递图像而不是图像视图有效!谢谢。 如果您对我的回复感到满意,请您回答。

以上是关于在 Swift 中将图像视图从一个视图控制器转移到另一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

使用 Swift 3 在 iOS 10 中将图像从服务器加载到 Apple Map 中的注释视图

将图像转移到下一个 ViewController (Swift)

如何在swift ios中将多个图像添加到自定义表格视图单元格?

在Swift 4中将签名输出发送到图像字段视图

如何在 Swift 中将值从自定义单元格设置/传递到视图控制器

如何在 Swift 中将一个视图复制到另一个视图