2016-11-10 2 views
0

Я установил UIImagePicker с .savedPhotosAlbum как sourcetype для разработки приложения.Тип источника UIImagePicker не хочет меняться

import UIKit 

class PictureViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

    /////////////////// OUTLETS //////////////////// 
    ///////////////// PROPERTIES /////////////////// 
    var imagePicker = UIImagePickerController() 

override func viewDidLoad() { 
     super.viewDidLoad() 

     imagePicker.delegate = self 

    } 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     // Where do we want our photos from and we don't want edited photos 
     imagePicker.allowsEditing = false 
     imagePicker.sourceType = UIImagePickerControllerSourceType.camera 
     imagePicker.cameraCaptureMode = .photo 
     imagePicker.modalPresentationStyle = .fullScreen 

     // Let's take the image from the picker 
     let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
     snapImage.image = image 

     // When the user picks a picture, disabling the background color of the UIImageView 
     snapImage.backgroundColor = UIColor.clear 

     // Closing the image picker 
     imagePicker.dismiss(animated: true, completion: nil) 
    } 

    @IBAction func cameraTapped(_ sender: Any) { 
     present(imagePicker, animated: true, completion: nil) 
    } 

Теперь, когда мое приложение закончено, я хочу попробовать мое приложение на моем Iphone, так что я изменил это:

imagePicker.sourceType = .savedPhotosAlbum 

в

imagePicker.sourceType = UIImagePickerControllerSourceType.camera 

И я добавил в моем info.plist

<key>NSCameraUsageDescription</key> 
    <string>We want to access your camera to ...</string> 

Но когда я пытаюсь сделать снимок, он продолжает показывать мне мой фотоальбом, и это проблема. Я хочу, чтобы сфотографироваться с камеры моего телефона.

+0

Необходимо разместить больше контекста, поэтому поместите свой код, где вы проверяете устройство, и представляете 'picker' – Santosh

+0

@Santosh Первое сообщение о IOS извините, я добавил все, что у меня есть – user2462805

ответ

1

Вы должны поместить этот код

imagePicker.allowsEditing = false 
imagePicker.sourceType = UIImagePickerControllerSourceType.camera 
imagePicker.cameraCaptureMode = .photo 
imagePicker.modalPresentationStyle = .fullScreen 

в любом viewDidLoad или cameraTapped

Проблемы - Как сейчас вы ставите этот код в методе делегата от UIImagePicker который вызывается после того, как собирание изображение или изображение.

+0

Большое вам спасибо за оба решение и объяснение! – user2462805

Смежные вопросы