2016-11-07 16 views
8

Używam Xcode 8. Próbuję dodać UIButton z Image po lewej stronie i Title prawej stronie. Chciałbym zachować odległość między Image i Title z UIButton w Storyboard. Nie widzę tutaj opcji Edge. Każda pomoc tutaj jest bardzo doceniana.Brak opcji UIButton Edge w Xcode 8

Odpowiedz

7

Xcode 8 Storyboard:

Najpierw ustawić tytuł i wizerunku do przycisku, a następnie przejdź do inspektora size i ustawić tytuł wypustkami i wypustkami graficznych, będzie dostosowanie treści do wybranej lokalizacji. W twoim przypadku ustaw lewy tył tytułu i wstawki obrazu w prawo.

enter image description here

Programowo:

button.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 
button.imageEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 

wyjściowa:

enter image description here

Xcode 7 Storyboard:

enter image description here enter image description here

Xcode opcja 7 krawędź została przeniesiona z sekcji Atrybuty inspektora do inspektora Rozmiar w Xcode 8, a nazwany wypustkami treści, tytułów wypustkami i wypustkami obrazu.

+0

Nie znam tej zmiany w Xcode 8.Jeśli chcę dodać obraz po prawej stronie przycisku z tytułem po lewej stronie, jak to zrobić? Zgodnie z wcześniejszą odpowiedzią, wydaje mi się, że muszę mocno zakodować wartość opcji "prawo" obrazu do około 300/500 pikseli. Ale pamiętam, że wcześniej mamy opcję wyboru obrazu i ustawienia jego wyrównania na prawą stronę przycisku. Teraz tego nie widzę. Jakaś pomoc ? Te zakodowane wartości nie działają na obu orientacjach. –

+0

To, o co prosiłeś, zostało zmienione jak wyżej w Xcode8. W Xcode7 możesz ustawić krawędź w lewo/w prawo, wybierając tytuł lub obraz. od Xcode 8, została zmieniona i przeniesiona do sekcji inspektora wielkości, tj. Tytułowe wstawki i wstawki obrazu. Jeśli chcesz, możesz użyć twardego kodu lub dynamicznie dodawać odstępy do przycisku za pomocą rozmiaru przycisku. – Jeyamahesan

+0

Te opcje mi nie pomagają, dowiem się, jakie jest moje rozwiązanie, Dziękuję –

20

Korzystanie Storyboard

Środowisko: XCode 8

Xcode8

Uwaga: W Xcode 8 znajdziesz opcję Edge wielkości inspektora, który nazwany jako Marginesy wewnętrzne treści, Tytułowe wstawki i wstawki obrazu.

Środowisko: XCode 7

Xcode7

Korzystanie kod.

Swift 3

myButton.titleEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 
myButton.imageEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 

Objective C

[myButton setTitleEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)]; 
[myButton setImageEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)];