2017-03-03 4 views
1

사용자는 2 개의 다른 이미지 뷰 및 버튼 (왼쪽 및 오른쪽)을 사용하여 2 개의 다른 사진을 찍길 원합니다. imagepicker Delegate를 사용하여이 작업을 수행하는 방법을 알고 있지만 두 가지 다른 이미지 뷰가있는 것은 아닙니다. 두 이미지 뷰는 서로 다른 사진을 가지고 있으며 다른 버튼을 사용하여 사진을 찍습니다. 기본적으로 왼쪽과 오른쪽은 서로 관련이 없습니다. simulator pic이미지 선택기를 사용하여 사진을 2 개의 다른 이미지보기 (swift3)로 저장하십시오.

코드

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의 인스턴스 속성을 확인하는 것입니다 그리고 당신의 왼쪽과 오른쪽 버튼 동작 설정 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, 애니메이션 : true, 완료 : 없음) ? –

+0

내 대답에서 언급 한 것처럼이 currentImageView 이미지를 설정해야합니다. –

0

이 버튼을 가장 최근에 눌러 진을 추적하기 위해의 ViewController에 변수를 설정하는 것입니다 할 수있는 빠른 방법. 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. 
} 

처럼, 채울 수있는 이미지 뷰를 결정하지만, 이것은 매우 간단합니다, 빠른 것. 대신 간단한 옵션을 tag 설정

+0

당신은 지금 작동하고 나에게 didFinishPicking 라인 덕분에 –