Nie wydaje się, aby rozmiar instrinetyzowany UIButton i/lub sizeToFit uwzględniał lewostronny inset tytułu lub coś było popsute moimi oczekiwaniami.Nieprawidłowy rozmiar UIButton z wstawką obrazu i tytułu
Aby zademonstrować, mam dwa niestandardowe przyciski w widoku, oba z tytułem "Przycisk". Chcę dodać obraz do przycisku po lewej stronie tytułu.
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()
Wynik jest następujący:
Uwaga drugi przycisk jest obcięty.
Moje pytanie brzmi, czy ktokolwiek to widział wcześniej (i mam nadzieję, że ma rozwiązanie), czy jestem zdezorientowany i zachowuje się zgodnie z oczekiwaniami (i mam nadzieję, że zna właściwą drogę)?
Można podklasować Uibutton i zastąpić wewnętrznąContentsSize. –