从相机胶卷中选择一张后图像不显示,将输入的图像存储在数组中 swift
Image not displaying after picking one out from camera roll, store inputted image in array swift
好的。首先,对于这么长的问题,我深表歉意。我的问题:我有代码可以在相机胶卷中搜索图像或拍摄一张,然后将其存储在 UIImage
中。但是,它没有在 NewPersonViewController
上显示图像。其次,我想将保存的图像 image
附加到我创建的空数组 UIImages
中,但我不知道该怎么做。我的代码片段:
var image:UIImage?
var Images:[UIImage] = []
//new snippet
Images.append(image!)
//another snippet
func updateDisplay(){
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
imageView.image = image!
imageView.hidden = false
if moviePlayerController != nil{
moviePlayerController!.view.hidden = true
}
}else if mediaType == kUTTypeMovie as NSString{
if moviePlayerController == nil{
moviePlayerController = MPMoviePlayerController(contentURL: movieURL)
let movieView = moviePlayerController!.view
movieView.frame = imageView.frame
movieView.clipsToBounds = true
view.addSubview(movieView)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
lastChosenMediaType = info[UIImagePickerControllerMediaType] as? String
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
image = info[UIImagePickerControllerEditedImage] as? UIImage
}
else if mediaType == kUTTypeMovie as NSString{
movieURL = info[UIImagePickerControllerMediaURL] as? NSURL
}
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
Images.append(image!)
编译,但出现此错误:fatal error: unexpectedly found nil while unwrapping an Optional value.
非常感谢 :) 旁注:我是 swift 的新手。
当你得到这样的图像时,尝试将图像附加到你的数组中。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
lastChosenMediaType = info[UIImagePickerControllerMediaType] as? String
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
let pickImg = info[UIImagePickerControllerEditedImage] as? UIImage
Images.append(pickImg)
imageView.image = pickImg //set the imageView image.
}
else if mediaType == kUTTypeMovie as NSString{
movieURL = info[UIImagePickerControllerMediaURL] as? NSURL
}
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
这是从我的项目中提取的有效代码。
var newImage : UIImage?
var Images:[UIImage] = []
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
let mediaType = info[UIImagePickerControllerMediaType] as String
if mediaType == "public.image" {
// Media is an image
newImage = info[UIImagePickerControllerOriginalImage] as UIImage!
println("update imgPreview")
imgPreview.image = newImage
Images.append(newImage!)
} else if mediaType == "public.movie" {
}
self.dismissViewControllerAnimated(true, completion: nil)
}
我是这样调用图片选择器的
func pickPhoto() {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.mediaTypes = [kUTTypeImage as NSString]
//imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true,
completion: nil)
}
好的。首先,对于这么长的问题,我深表歉意。我的问题:我有代码可以在相机胶卷中搜索图像或拍摄一张,然后将其存储在 UIImage
中。但是,它没有在 NewPersonViewController
上显示图像。其次,我想将保存的图像 image
附加到我创建的空数组 UIImages
中,但我不知道该怎么做。我的代码片段:
var image:UIImage?
var Images:[UIImage] = []
//new snippet
Images.append(image!)
//another snippet
func updateDisplay(){
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
imageView.image = image!
imageView.hidden = false
if moviePlayerController != nil{
moviePlayerController!.view.hidden = true
}
}else if mediaType == kUTTypeMovie as NSString{
if moviePlayerController == nil{
moviePlayerController = MPMoviePlayerController(contentURL: movieURL)
let movieView = moviePlayerController!.view
movieView.frame = imageView.frame
movieView.clipsToBounds = true
view.addSubview(movieView)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
lastChosenMediaType = info[UIImagePickerControllerMediaType] as? String
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
image = info[UIImagePickerControllerEditedImage] as? UIImage
}
else if mediaType == kUTTypeMovie as NSString{
movieURL = info[UIImagePickerControllerMediaURL] as? NSURL
}
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
Images.append(image!)
编译,但出现此错误:fatal error: unexpectedly found nil while unwrapping an Optional value.
非常感谢 :) 旁注:我是 swift 的新手。
当你得到这样的图像时,尝试将图像附加到你的数组中。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
lastChosenMediaType = info[UIImagePickerControllerMediaType] as? String
if let mediaType = lastChosenMediaType{
if mediaType == kUTTypeImage as NSString{
let pickImg = info[UIImagePickerControllerEditedImage] as? UIImage
Images.append(pickImg)
imageView.image = pickImg //set the imageView image.
}
else if mediaType == kUTTypeMovie as NSString{
movieURL = info[UIImagePickerControllerMediaURL] as? NSURL
}
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
这是从我的项目中提取的有效代码。
var newImage : UIImage?
var Images:[UIImage] = []
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
let mediaType = info[UIImagePickerControllerMediaType] as String
if mediaType == "public.image" {
// Media is an image
newImage = info[UIImagePickerControllerOriginalImage] as UIImage!
println("update imgPreview")
imgPreview.image = newImage
Images.append(newImage!)
} else if mediaType == "public.movie" {
}
self.dismissViewControllerAnimated(true, completion: nil)
}
我是这样调用图片选择器的
func pickPhoto() {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.mediaTypes = [kUTTypeImage as NSString]
//imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true,
completion: nil)
}