Ваш код не делает паузу только потому, что представлен UIImagePickerController.Итак, давайте посмотрим на ваш код:
@IBAction func imageBtnPressed(_ sender: Any) {
imagePicker()
let imageView = UIImageView(frame: CGRect(x: (scrollView.bounds.size.width-200)/2, y:(scrollView.bounds.size.height-100)/2, width: 200, height: 100))
imageView.image = imageOnCanvas
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
scrollView.addSubview(imageView)
}
func imagePicker(){
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = false
present(imagePicker, animated: true, completion: nil)
}
То есть в точности как выражение (подстановка содержимого функции imagePicker
для вызова функции):
@IBAction func imageBtnPressed(_ sender: Any) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = false
present(imagePicker, animated: true, completion: nil)
let imageView = UIImageView(frame: CGRect(x: (scrollView.bounds.size.width-200)/2, y:(scrollView.bounds.size.height-100)/2, width: 200, height: 100))
imageView.image = imageOnCanvas
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
scrollView.addSubview(imageView)
}
Ну, как вы можете ясно видеть, вы имеете в виду imageOnCanvas
, когда он еще не установлен.imagePicker
все еще показывает;пользователь еще не выбрал фотографию.Но ваш код полностью подошел к концу.Вы добавили подпредставление, состоящее из вида изображения, содержащего изображение, которое было в imageOnCanvas
до запуска кода .