Je crée un bouton en utilisant SwiftIcons, mais la position de l'icône n'est pas correcte. J'ajoute une largeur négative pour le fixer:Swift UIBarButtonItem position qui a été créée par programme
let menuButton = UIBarButtonItem()
menuButton.setIcon(icon: .ionicons(.chevronLeft), iconSize: 24, color: .white, cgRect: CGRect(x: 0, y: 0, width: 24, height: 24), target: self, action: #selector(menuButtonClick))
let negativeSpacer:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
negativeSpacer.width = -13.7;
self.navigationItem.leftBarButtonItems = [negativeSpacer, menuButton]
Cela fonctionne pour iOS 10 ou moins, mais sur iOS 11 la largeur ne prend pas des valeurs négatives.
Image
Comment puis-je résoudre ce problème?
Réponse:
let menuButton = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(menuButtonClick))
menuButton.image = UIImage.init(icon: .ionicons(.chevronLeft), size: CGSize(width: 24, height: 24))
menuButton.imageInsets = UIEdgeInsetsMake(0, -13.7, 0, 0)
self.navigationItem.leftBarButtonItem = menuButton
Aucune réaction à la fois des valeurs positives et négatives appliquées à negativeSpacer ou MenuButton :( – rejjer
Mais cela fonctionne, lorsque l'icône ajoutée comme l'image pour barButton, merci! – rejjer