2016-08-11 6 views
1

UIImageViewに背景画像を追加します。現時点では、UIImageViewの空のフレームには、tapGestureRcognizerがあり、カメラを開くことができます。UIImageViewにカメラボタンを追加する方法

let imageView = whiskyPicture 
    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(DataInsertController.imageTapped(_:))) 
    imageView!.userInteractionEnabled = true 
    imageView!.addGestureRecognizer(tapGestureRecognizer) 

func imageTapped(sender: UITapGestureRecognizer) { 
    imagePicker = UIImagePickerController() 
    imagePicker.allowsEditing = true 
    imagePicker.delegate = self 
    imagePicker.sourceType = .Camera 

    presentViewController(imagePicker, animated: true, completion: nil) 

今私は、ユーザーがどこをタップして見ることができ、UIImageViewに背景画像を追加したいと思います。 iOSのカメラアイコンをUIImageに追加するのが最善の方法です。写真を選んだ後、背景イメージはなくなるはずです。

どのようにそれを行うためのアドバイス?私は、背景画像を追加したいUIImageView

DataInsertViewController Storyboard

ストーリーボードは、次のようになります。

+0

背景イメージの意味は?あなたのストーリーボードを表示できますか? – jo3birdtalk

答えて

1

だけで直接カメラ画像を設定し、CenterModeプロパティを設定します。ただ、この画像のようにdidFinishPickingMediaWithInfo方法で今

enter image description here

はちょうどあなたがでUIImagePickerControllerDelegateを実装する必要があるなど、あなたがScale To FillAspect FitAspect Fillようにしたいものに

+0

まだ画像はストーリーボードに表示されていますが、アプリを実行するとデバイスやシミュレータで実行しても画像はありません – Mikey

+0

ストーリーボードとシミュレータの両方で画像を追加できますか? –

+0

これは上の写真のようなものです。空白の画像が表示され、背景の画像はありません – Mikey

0

最初に、カメラ画像をデザインまたは検索して画像アセットに追加します。ファイルの名前をcamera.jpgとした場合、ストーリーボードで画像をcamera.jpgに設定します。ロードすると、そのイメージが表示されます。

写真を撮り終えたら、camera.jpgをあなたの「撮影済み」写真に置き換えてください。あなたのimageView

func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info:NSDictionary!) { 
    let tempImage = editingInfo[UIImagePickerControllerOriginalImage] as UIImage 
    myImageView.image = tempImage 

    self.dismissModalViewControllerAnimated(true) 

} 
+0

最初の行にエラーがあり、editingInfoは未解決の識別子の使用です。あなたはそれを修正する方法を知っていますか? – Mikey

0

まずimageViewcontentModeを変更するあなたのクラス。

var imagePicker : UIImagePickerController! 

func imagePickerController(picker: UIImagePickerController,  didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    imagePicker.dismissViewControllerAnimated(true, completion: nil) 

    imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage 

} 

override func viewWillAppear(animated: Bool) { 

    //Makes the camera pops up 

    if imagePicker == nil { 
     imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = .Camera 

     presentViewController(imagePicker, animated: true, completion: nil) } 

} 

これで、画像が撮影され、画像がimageViewに表示されます。質問が正しく理解されることを願っています。

関連する問題