2017-03-03 7 views
1

2つの異なる画像ビューとボタン(左右)を使用して2つの異なる写真を撮ってもらいたい。私はimagepicker Delegateを使ってこれを行う方法を知っていますが、2つの異なるイメージビューではできません。両方の画像ビューは異なる写真を持ち、異なるボタンを使用して写真を撮影します。基本的に左右の辺はお互いに関係ありません。 simulator picイメージピッカーを使用して写真を2つの異なる画像ビューに保存する(swift3)

それを行うための簡単な方法は、最も最近に押されたボタンを追跡するために、あなたのViewControllerに変数を設定することであろうコード

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) { 
}} 

答えて

1

はあなたのViewControllerタイプUIImageView名前currentImageViewの1つのインスタンスプロパティを作ることで、その後、あなたの左右のボタンのアクションに設定leftImagerightImagecurrentImageViewいます。その後、didFinishPickingMediaWithInfoで、選択した画像をcurrentImageViewに設定します。あなたのdidFinishPickingMediaWithInfo方法で今

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 
} 

は、単にこのcurrentImageViewに画像を設定します。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
    self.currentImageView?.image = image 
    self.dismiss(animated: true) 
} 
+0

これは今動作していますか? –

+0

これは、ボタンに置​​くためのコードであるかUIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){ imagePicker = UIImagePickerControllerを() imagePicker.delegate =自己せ imagePicker.sourceType = UIImagePickerControllerSourceType.camera。 imagePicker.allowsEditing = false self.present(imagePicker、animated:true、completed:nil) ? –

+0

あなたは私の答えで述べたように、このcurrentImageViewにイメージを設定する必要があります –

0

var imagePickerButton: Int = 0のように、Intのような単純なものを使用して、好きなようにボタンに番号を割り当てることもできます。私はtag属性を使いたいので、それについて考える必要はありません。これを行うと、ボタンアクションで、imagePickerの起動コードを実行する前にself.imagePickerButton = sender.tagと言うことができます。

次に、あなたのdidFinishPicking...方法であなたがswitchを使用することができますか/他の場合は、これを処理できる方法のトンがあります

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

のように、移入するためにどのImageViewのかを決定するが、これは非常に簡単です、クイックワン。代わりに、単純なオプションをtag設定の

+0

didFinishPicking行に感謝します –

関連する問題