Non sembra che UIButton instrinsicSize e/o sizeToFit tenga conto di un margine sinistro del titolo, o qualcosa è incasinato con le mie aspettative.UIButton dimensionamento errato con l'immagine e il titolo inserto
Per dimostrare, ho due pulsanti di tipo personalizzato in una vista, entrambi con il titolo "Pulsante". Voglio aggiungere un'immagine al pulsante a sinistra di un titolo.
var image = UIImage(named: "circledPlay")
image = image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
self.button1.setImage(image, forState: UIControlState.Normal)
self.button1.invalidateIntrinsicContentSize()
self.button1.sizeToFit()
self.button2.setImage(image, forState: UIControlState.Normal)
self.button2.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0)
self.button2.invalidateIntrinsicContentSize()
self.button2.sizeToFit()
Il risultato è il seguente:
Nota il secondo pulsante viene troncato.
Quindi la mia domanda sarebbe se qualcuno l'ha visto prima (e si spera abbia una soluzione) o sono confuso e questo si comporta come previsto (e si spera che conosca il modo giusto per farlo)?
È possibile sottoclasse UIButton e sovrascrive intrinsicContentSize. –