2012-04-02 23 views
14

Próbuję dostosować mój przycisk zmieniając ich kolory, ale kiedy używam albo:iOS - Ustawianie UIButton kolor tła tylko kolory narożniki

self.loginButton.layer.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0].CGColor; 

lub

self.loginButton.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0]; 

All I get jest to wynik:

enter image description here

Co chcę zrobić, to zmienić white C olor do niebieskiego, jakiś pomysł, co robię źle?

Odpowiedz

17

Używasz okrągłego prostokąta, który jest dość brzydki i trudny do dostosowania.

Można utworzyć przycisk niestandardowego typu i użyć obrazu tła lub utworzyć przycisk niestandardowego typu i zaokrąglić rogi i samodzielnie ustawić kolor tła warstwy.

Jeśli chcesz się naprawdę spodobać, istnieje niezły tutorial here, dzięki któremu możesz uzyskać przyciski o dowolnym rozmiarze, używając warstw, bez plików graficznych.

+0

Bardzo dziękuję :) Czy istnieje jakakolwiek nowość? Czy nadal jest to sposób, w jaki należy to zrobić? – 8vius

+0

Byłoby miło mieć coś bardziej aktualnego, dlatego proszę, przepraszam za kłopot. – 8vius

+0

Ten link jest nadal odpowiednią radą. Wbudowane przyciski w systemie iOS są dość słabe po opuszczeniu elementów paska przycisków lub arkuszy czynności. – jrturton

2

Jaki jest ten typ przycisku? Jeśli chcesz dostosować przycisk, musisz utworzyć przycisk za pomocą przycisku [Przycisk UIButtonWithType: UIButtonTypeCustom]

+0

Tak. Jest to bardzo ważne i łatwe do przeoczenia. Nie wiem, ile razy spędziłem pół godziny próbując dowiedzieć się, dlaczego moje guziki nie wyglądają dobrze, zanim w końcu uświadomiłem sobie, że nie ustawiłem ich na Custom. – Eagle11

-2

odkryłem to prawie przez przypadek:

self.loginButton.tintColor = [UIColor redColor]; 

pewno działa i jest dostępny od iOS 2.0.

+0

Czy próbowałeś tego? To nie działa. –

+3

Kolor tintColor ustawia kolor tylko wtedy, gdy przycisk jest wciśnięty. – cat

+0

Kot ma rację, to tylko po naciśnięciu przycisku. – helioz