【发布时间】:2018-04-10 22:08:49
【问题描述】:
我正在尝试制作一个在“WebController”中加载 UIWebView 的应用程序,UIWebView 下方是一个按钮,用于截取 UIWebView 的屏幕截图并将其保存到我的 PhotoLibrary。我想将单击按钮时刚刚拍摄的照片发送到新控制器“ViewImageController”,并插入到 ViewImageController 中的 UIImageView 中以编辑或执行其他操作。我试图在我的 WebController 中使用 segue 将图像发送到我的 ViewImageController。我看过很多关于在视图控制器之间传递图像的文章,但我只发现它们处理我没有使用的 UIImagePickerController 委托,因为我试图发送一张刚刚拍摄的照片而不是拍摄照片,然后选择该图像从 ImagePicker 发送。如果不清楚,请告诉我,以便我尝试更好地解释。
WebController.swift
var sendImage:UIImage!
....
....
....
@IBAction func takePhotoBtn(_ sender: UIButton) {
print("Screenshot")
// = UIImage
UIGraphicsBeginImageContext(webPageView.frame.size)
if let aContext = UIGraphicsGetCurrentContext(){
webPageView.layer.render(in: aContext)
}
var viewImage: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(viewImage!, nil, nil, nil)
viewImage = sendImage
self.performSegue(withIdentifier: "viewLargePhoto", sender: AnyObject.self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let viewImage: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
if segue.identifier == "viewLargePhoto" {
var viewPhotoController = segue.destination as! ViewPhotoController
//Line beneath is the trouble causer
viewPhotoController.imageView = sendImage//Cannot assign value of type 'UIImage!' to type 'UIImageView!'
}
}
ViewPhotoController.swift
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.hidesBarsOnTap = true
self.displayPhoto()
}
....
....
....
func displayPhoto(){
let screenSize: CGSize = UIScreen.main.bounds.size
let targetSize = CGSize(width: screenSize.width, height: screenSize.height)
let imageManager = PHImageManager.default()
imageManager.requestImage(for: self.photoAsset[self.index] as! PHAsset, targetSize: targetSize, contentMode: .aspectFit, options: nil, resultHandler: {(result,info)->Void in
self.imageView.image = result
})
}
【问题讨论】:
标签: swift uiimageview uiimage uistoryboardsegue uigraphicscontext