2015-08-07 29 views

Odpowiedz

-1

Sprawdź, czy to działa. Utwórz wiązania pionowe do etykiety tytułu UIButton zamiast samego przycisku.

+0

Nie działa dla mnie. – SeanR

1

Jeśli chcesz, aby przycisk dopasowywał się do zawartości titleLabel, okazało się, że jedynym sposobem na zrobienie tego jest podklasowanie UIButton i nadpisanie właściwości innerContentSize. Mam nadzieję, że to działa dla Ciebie!

pracował dla mnie na iOS 9.3

class CustomButton: UIButton { 

    override func intrinsicContentSize() -> CGSize { 
     return titleLabel?.intrinsicContentSize() ?? super.intrinsicContentSize() 
    } 
} 
12

Po pewnym eksperymentów wynika, że ​​jeśli spróbujesz i ustawić contentEdgeInsets do wszystkich zer, domyślne wypustki są używane. Jednakże, jeśli ich wartość prawie zero, to działa:

button.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0.01, bottom: 0.01, right: 0) 

Wydaje się również, że wartości uzyskać floor „d, więc nie będzie rzeczywiście dostać wyściółkę ułamkową.

+0

Pracowałem dla mnie. Dzięki! – chrilith

+0

Dziwne jest to, że z powrotem przekształca się z '0' w' Interface Builder', że poprawnie ustawił na '0.01' w pliku' .xib'/'.storyboard'. –