使用图像选择器将照片保存到2个不同的图像视图(swift3)

时间:2017-03-03 23:45:17

标签: ios swift swift3 uiimagepickercontroller photo

我希望用户使用2个不同的图像视图和按钮(左侧和右侧)拍摄2张不同的照片。我知道如何使用imagepicker委托而不是2个不同的图像视图。两张图片视图都会有不同的照片,并使用不同的按钮拍摄照片。基本上左右两侧无关。 simulator pic

    import UIKit

class _vc: UIViewController {

@IBOutlet var leftImage: UIImageView!
@IBOutlet var rightImage: UIImageView!


override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

@IBAction func takePhotoLeft(_ sender: Any) {
}
@IBAction func takePhotoRgith(_ sender: Any) {
}}

2 个答案:

答案 0 :(得分:1)

而不是设置tag,简单的选项是在ViewController中创建一个类型UIImageView名称为currentImageView的实例属性,然后在左右按钮操作集中{{1与currentImageViewleftImage合作。之后在rightImage中将所选图片设置为此didFinishPickingMediaWithInfo

currentImageView

现在,在您的var currentImageView: UIImageView? @IBAction func takePhotoLeft(_ sender: Any) { self.currentImageView = self.leftImage //ImagePicker code } @IBAction func takePhotoRgith(_ sender: Any) { self.currentImageView = self.rightImage //ImagePicker code } 方法中,只需将图片设置为此didFinishPickingMediaWithInfo

currentImageView

答案 1 :(得分:0)

快速执行此操作的方法是在viewController上设置一个变量,以跟踪最近按下的按钮。您甚至可以使用Int之类的简单内容,例如var imagePickerButton: Int = 0,并根据需要将数字分配给按钮。我喜欢使用tag属性,所以我不必考虑它。如果你这样做,在你的按钮操作中,你可以在做imagePicker启动代码之前说self.imagePickerButton = sender.tag

然后,在didFinishPicking...方法中,您可以使用switch或if / else来决定填充哪个imageView,例如

switch self.imagePickerButton {
case 0:
    leftImageView.image = image
case 1:
    rightImageView.image = image
etc.
}

有很多方法可以解决这个问题,但这是一个非常简单快捷的方法。