0
ビューコントローラに画像ビューがありますが、奇妙なことに画像ビュー内に画像を表示できません。これは、ページの中央または他のビューコントローラのどこかに配置されています。イメージビューとイメージピッカーの私のコードは以下の通りです。スウィフトの画像表示エリアに画像が表示されませんでした
そして、これが出力されます。矢印画像は」予想地域でトンショーのdoesn:
profileImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
profileImageView.bottomAnchor.constraint(equalTo: nameTextField.topAnchor, constant: -12).isActive = true
profileImageView.widthAnchor.constraint(equalToConstant: 150).isActive = true
profileImageView.heightAnchor.constraint(equalToConstant: 150).isActive = true
profileImageView.image = UIImage(named: "arrow_long_left")
profileImageView.translatesAutoresizingMaskIntoConstraints = false
profileImageView.contentMode = .scaleAspectFill
profileImageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectProfileImageView)))
profileImageView.isUserInteractionEnabled = true
view.addSubview(profileImageView)
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
var selectedImageFromPicker: UIImage?
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
selectedImageFromPicker = editedImage
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
selectedImageFromPicker = originalImage
}
if let selectedImage = selectedImageFromPicker {
profileImageView.image = selectedImage
}
dismiss(animated: true, completion: nil)
}
func handleSelectProfileImageView() {
let imagePicker = UIImagePickerController()
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.photoLibrary) {
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
//picker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true, completion: nil)
}
/*else if (UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = UIImagePickerControllerSourceType.camera;
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}*/
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
print("canceled picker")
dismiss(animated: true, completion: nil)
}
ありがとうdmorrow、それは素晴らしい作品です!しかし、あなたが "profileImageView.widthAnchor.constraint(equalToConstant:80).isActive = trueを使って幅と高さを調整しようとしたときに言ったように、 profileImageView.heightAnchor.constraint(equalToConstant:80).isActive = true"コードブロック、仕事。どうすればいいですか、何か提案がありますか? – gozdebal
@gozdebalイメージの高さ/幅を送信しようとしている場合は、イメージを拘束し過ぎるので、後ろまたは下のアンカーを設定しないでください。レイアウトは、さまざまなサイズのデバイスにどのように反応させるかによって異なります – dmorrow