2016-09-20 13 views
0

カメラの画像を選択したり、新しい画像を撮ったりして、画像をバックエンドサーバーにアップロードできるアプリでイメージピッカーを使用しています。swift iosいつmediaTypesを使用する必要がありますか?kUTTypeImage

しかし、私は何人かの人々がこれを使用することがわかり、他のコードを中心に探して:あなたはkUTTypeImageにmediaTypesを設定する必要がありますなぜ imagePickerController.mediaTypes = [文字列としてkUTTypeImage]

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 


      if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
       //Change aspect when not dummy image 
       self.bigImage.contentMode = .ScaleAspectFill 
       self.bigImage.clipsToBounds = true 
       self.bigImage.image = pickedImage 
+0

'[文字列としてkUTTypeImage]' '実際mediaTypes'プロパティのデフォルトです。それは、静止画のみを選ぶことができると述べている。ビデオを許可する必要がある場合は、 'mediaTypes'を' [kUTTypeMovie as String] 'に設定してください。 – ovejka

+0

@ovejkaですので、ビデオを許可したい場合はkUTTypeMovieを使用できます。しかし、上のコードでmediaTypesを実装する必要がある理由はありますか?また、私はそれを受け入れることができるので、あなたの答えを投稿してください:) – user2636197

+0

あなたの理由はありません。一部の人々は、そのような決定を明示することを好むだけです。例えば、 'UIImagePickerController'を直接使用するのではなく、サブクラスを使用し、このプロパティがオーバーライドされていないかどうかはわかりません。あるいは、もし恐れているのであれば、Appleは将来のフレームワークのバージョンではデフォルトを変更するだろう(この特定のケースではほとんど不可能)。 – ovejka

答えて

3

//Check if camera exist 
     if UIImagePickerController.isSourceTypeAvailable(.Camera) { 
      let cameraAction = UIAlertAction(title: "Take a photo", style: .Default) { (action) in 
       self.imagePicker.sourceType = .Camera 
       self.imagePicked = 1 
       self.presentViewController(self.imagePicker, animated: true, completion: nil) 

      } 

      alertController.addAction(cameraAction) 
     } 

     //Check if photo lib exist 
     if UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary) { 
      let photosLibraryAction = UIAlertAction(title: "Pick image", style: .Default) { (action) in 
       self.imagePicker.sourceType = .PhotoLibrary 
       self.imagePicked = 1 
       self.presentViewController(self.imagePicker, animated: true, completion: nil) 

      } 
      alertController.addAction(photosLibraryAction) 
     } 

は、その後、私は画像を取得する:私は私のコード怒鳴るにすることを使用していないが、すべてがまだ正常に動作

私はUIAlertControllerを通じて、このような画像を選択します

kUTTypeImageは、実際はmediaTypesプロパティのデフォルトです。それは、静止画のみを選ぶことができると述べている。このデフォルトで問題ない場合は、コードで明示的に設定する必要はありません。ここで

はドキュメントです:https://developer.apple.com/reference/uikit/uiimagepickercontroller/1619173-mediatypes

関連する問題