Ну, вы не можете отобразить этот экран подтверждения с помощью пользовательских элементов управления. Это довольно простой пример:
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var textField: UITextField!
var imagePickerController: UIImagePickerController!
override func viewDidLoad() {
super.viewDidLoad()
guard UIImagePickerController.isSourceTypeAvailable(.camera) else { return }
imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .camera
imagePickerController.showsCameraControls = false
imagePickerController.delegate = self
// Button to take picture
let takePictureButton = UIButton()
takePictureButton.setTitle("Take Picture", for: .normal)
imagePickerController.view.addSubview(takePictureButton)
// Positioning button
takePictureButton.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
takePictureButton.centerXAnchor.constraint(equalTo: imagePickerController.view.centerXAnchor),
takePictureButton.bottomAnchor.constraint(equalTo: imagePickerController.view.bottomAnchor, constant: -50)
])
// Set button target
takePictureButton.addTarget(self, action: #selector(didTouchTakePictureButton(_:)), for: .touchUpInside)
self.present(imagePickerController, animated: true, completion: nil)
}
@objc func didTouchTakePictureButton(_ sender: UIButton) {
imagePickerController.takePicture()
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let image = info[.originalImage] as? UIImage else { return }
}
}
Остерегайтесь следующего, хотя:
1. Вам будет разрешено использовать .camera
только для типа источника;
2. У вас нет никаких элементов управления, поэтому вы должны добавить все настройки самостоятельно;
Надеюсь, это поможет!