使用图像选择器的三个图像
Three images using image picker
我正在构建一个允许用户将三张图片添加到三张的应用程序UIImageViews
我添加了三个按钮,例如,当用户单击按钮 1 时,他应该能够将图像添加到 UIImageView
1
但是图像没有出现UIImageView
而且我没有找到任何解决方案
代码示例:
@IBAction func imageOneBtn(sender: AnyObject) {
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
picker.delegate = self
picker.allowsEditing = false
self.presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
imageViewOne.image = selectedImage
imageViewOne.contentMode = UIViewContentMode.ScaleAspectFit
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
提前致谢
代码似乎是正确的。
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
尝试删除感叹号 (!)。
尝试使用 imageViewOne.contentMode = .ScaleAspectFit
也可以尝试使用 var
而不是 let selectedImage
一般试试这个代码
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
var selectedImage = info[UIImagePickerControllerOriginalImage] as UIImage
imageViewOne.contentMode = .ScaleAspectFit
imageViewOne.image = selectedImage
dismissViewControllerAnimated(true, completion: nil)
}
我已经解决了我的问题,这是给任何可能想要使用它的人的答案
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var oneImg: UIImageView!
@IBOutlet weak var twoImg: UIImageView!
@IBOutlet weak var threeImg: UIImageView!
var num=0;
func config() {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
imagePickerController.sourceType = .PhotoLibrary
presentViewController(imagePickerController, animated: true, completion: nil)
}
@IBAction func oneBtn(sender: AnyObject) {
num = 1
config()
}
@IBAction func twoBtn(sender: AnyObject) {
num = 2
config()
}
@IBAction func threeBtn(sender: AnyObject) {
num = 3
config()
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage;
if num == 1 { // switch can be used here
oneImg.image = selectedImage;
} else if (num == 2) {
twoImg.image = selectedImage
} else if (num == 3) {
threeImg.image = selectedImage
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
我正在构建一个允许用户将三张图片添加到三张的应用程序UIImageViews
我添加了三个按钮,例如,当用户单击按钮 1 时,他应该能够将图像添加到 UIImageView
1
但是图像没有出现UIImageView
而且我没有找到任何解决方案
代码示例:
@IBAction func imageOneBtn(sender: AnyObject) {
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
picker.delegate = self
picker.allowsEditing = false
self.presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
imageViewOne.image = selectedImage
imageViewOne.contentMode = UIViewContentMode.ScaleAspectFit
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
提前致谢
代码似乎是正确的。
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
尝试删除感叹号 (!)。
尝试使用 imageViewOne.contentMode = .ScaleAspectFit
也可以尝试使用 var
而不是 let selectedImage
一般试试这个代码
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
var selectedImage = info[UIImagePickerControllerOriginalImage] as UIImage
imageViewOne.contentMode = .ScaleAspectFit
imageViewOne.image = selectedImage
dismissViewControllerAnimated(true, completion: nil)
}
我已经解决了我的问题,这是给任何可能想要使用它的人的答案
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var oneImg: UIImageView!
@IBOutlet weak var twoImg: UIImageView!
@IBOutlet weak var threeImg: UIImageView!
var num=0;
func config() {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
imagePickerController.sourceType = .PhotoLibrary
presentViewController(imagePickerController, animated: true, completion: nil)
}
@IBAction func oneBtn(sender: AnyObject) {
num = 1
config()
}
@IBAction func twoBtn(sender: AnyObject) {
num = 2
config()
}
@IBAction func threeBtn(sender: AnyObject) {
num = 3
config()
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage;
if num == 1 { // switch can be used here
oneImg.image = selectedImage;
} else if (num == 2) {
twoImg.image = selectedImage
} else if (num == 3) {
threeImg.image = selectedImage
}
picker.dismissViewControllerAnimated(true, completion: nil)
}
}