J'ai implémenté une vue de pile remplie proportionnellement avec des images et des étiquettes et du texte et des boutons à l'intérieur d'un survol sur mon contrôleur principal. Quand je saisis le popover que j'utilise, la vue apparaîtra comme prioritaire pour définir le rayon d'angle de l'image que j'appelle ProfileImage à 1/2 de sa hauteur pour qu'il apparaisse comme un cercle.Comment utiliser les attributs de sous-vues dans StackView configurés pour remplir proportionnellement comme recalculer après rotation du périphérique
Lorsque je fais pivoter le périphérique, la pile recalcule et modifie la taille de l'image profile. J'ai essayé d'utiliser le code ci-dessous pour ajuster le rayon de l'angle de sorte qu'il s'agisse d'un cercle lorsque la vue transite. J'ai essayé ce code à la fois dans le bloc d'achèvement et dans le bloc à côté de la transition.
Lorsque je fais pivoter l'appareil, le rayon d'angle est défini par la taille de l'image dans l'orientation OLD, et non dans l'orientation NEW. Il semble que la transition vers une nouvelle orientation se produise et ALORS la pile se recalcule. Le rayon du coin semble se mettre à jour avant que cela n'arrive. Je voudrais savoir comment appeler la propriété height de l'image qui sera la hauteur dans la nouvelle vue après que l'appareil a pivoté et que la pile recalcule la taille de l'image en fonction de cette nouvelle orientation.
Nous vous remercions de vos conseils. S'il vous plaît voir ci-dessous pour le code en question:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
coordinator.animate(alongsideTransition: { context in
context.viewController(forKey: UITransitionContextViewControllerKey.from)
}, completion: {(context) -> Void in
self.view.layoutSubviews()
self.ProfileImage.layer.cornerRadius = self.ProfileImage.bounds.size.height/2
print(self.ProfileImage.frame.size.height)
})
}