J'ai une vue de l'image qui est créé par programme dans une vue du conteneur en tant que tel:image sélectionnée à partir imagePickerController prend tout l'écran au lieu de montage à l'intérieur de l'interface utilisateur image Voir [Swift]
Screen shot with circular profile image view inside container view
J'ai superposition des boutons en haut de la vue de l'image du profil pour appeler le contrôleur du sélecteur d'image. Lorsqu'une image est sélectionnée à partir de la photothèque, l'image prend tout l'écran comme ci-dessous:
Screenshot after image is selected
Voici le code pour cette viewDidLoad() du contrôleur de vue et imagePickerController():
override func viewDidLoad() {
super.viewDidLoad()
self.profileBackgroundView.backgroundColor = UIColor.init(red: CGFloat(69.0/255.0), green: CGFloat(171.0/255.0), blue: CGFloat(222.0/255.0), alpha: CGFloat(1))
//initializePrimaryUserData()
fullNameTextField.text = self.primaryUser.firstName + self.primaryUser.lastName
nickNameTextField.text = self.primaryUser.userName
//create profile image view
if hasProfilePic {
profileImage.image = self.primaryUser.image
} else {
image = UIImage(named: imageName)!
profileImage.image = image
}
profileImage.frame = CGRect(x: profileBackgroundView.bounds.midX, y: profileBackgroundView.bounds.midY, width: 100, height: 100)
profileImage.translatesAutoresizingMaskIntoConstraints = false
profileBackgroundView.addSubview(profileImage)
profileImage.centerXAnchor.constraint(equalTo: profileBackgroundView.centerXAnchor).isActive = true
profileImage.centerYAnchor.constraint(equalTo: profileBackgroundView.centerYAnchor).isActive = true
profileImage.layer.cornerRadius = profileImage.frame.size.width/2
profileImage.layer.masksToBounds = false
profileImage.clipsToBounds = true
profileImage.contentMode = .scaleAspectFit
//create profileImageButton
let profileImageButton = UIButton(frame: CGRect(x: profileBackgroundView.bounds.midX, y: profileBackgroundView.bounds.midY, width: 100, height: 100))
profileImageButton.setTitle("Photo", for: .normal)
profileImageButton.addTarget(self, action: #selector(profileImageButtonClicked), for: .touchUpInside)
profileImageButton.translatesAutoresizingMaskIntoConstraints = false
profileBackgroundView.addSubview(profileImageButton)
profileImageButton.centerXAnchor.constraint(equalTo: profileBackgroundView.centerXAnchor).isActive = true
profileImageButton.centerYAnchor.constraint(equalTo: profileBackgroundView.centerYAnchor).isActive = true
// Do any additional setup after loading the view.
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
self.primaryUser.image = image
self.hasProfilePic = true
self.profileImage.image = image
self.profileImage.contentMode = .scaleAspectFit
self.profileImage.clipsToBounds = true
}
self.dismiss(animated: true, completion: nil)
}
J'ai essayé, mais aussi ne fonctionnait pas. – Abe