J'ai ce code afin de mettre un UIImageView au centre d'une barre de contrôle de la navigation et l'échelle correctement l'image:mode du réglage en UIImageView ne fonctionne plus dans iOS 11
override func viewDidAppear(_ animated: Bool) {
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 150, height: 28));
imageView.contentMode = .scaleAspectFit;
let image = UIImage(named: "image_title.png");
imageView.image = image;
self.navigationItem.titleView = imageView;
}
Le code fonctionne très bien dans iOS 10, mais dans iOS 11, la propriété ".scaleAspectFit" n'est pas prise en compte et les images ne sont pas mises à l'échelle dans la taille UIImageView.
J'ai essayé quelques solutions i trouvée:
- Définition du cadre de la UIImageView après avoir réglé le "contentMode" propriété
- Réglage imageView.setNeedsLayout()
- Réglage imageView.setNeedsDisplay()
Malheureusement, aucune de ces solutions ne fonctionne. La propriété "contentMode" est simplement ignorée,
Une idée sur ce que le problème pourrait être?
Nous vous remercions à l'avance
Qu'avez-vous essayé de résoudre votre problème? – Shebuka
cela peut-il vous aider: https://stackoverflow.com/a/44040208/5580393 – Aditya
Salut Shebuka, j'ai essayé avec quelques solutions proposées j'ai trouvé: . définir l'image de l'image après avoir défini la propriété "contentMode" . définition de imageView.setNeedsLayout() . définition de imageView.setNeedsDisplay() aucune de ces solutions ne fonctionne. La chose étrange est que mon code fonctionne bien dans iOS 10 ... –