在 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中将多个图像添加到自定义表格视图单元格?