2012-04-02 88 views
14

我試圖通過改變其顏色來定製我的按鈕,但是當我使用兩種:的iOS - 設置的UIButton背景顏色只有顏色的角落

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

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

我得到的是這樣的結果:

enter image description here

我想要做的是改變的白色C olor to blue,任何想法我做錯了什麼?

回答

17

你正在使用一個圓形的矩形按鈕,它非常難看,而且很難定製。

您可以創建一個自定義類型按鈕並使用背景圖像,或者創建一個自定義類型按鈕並繞過角並自行設置圖層的背景顏色。

如果你想得到真正的幻想,有一個很好的教程here它可以給你任何大小的漸變式按鈕使用圖層,不需要圖像文件。

+0

非常感謝你:)有什麼更近的機會嗎?或者這仍然是它必須完成的方式? – 8vius 2012-04-02 15:32:39

+0

很高興有更新的東西,這就是爲什麼我問,對不起,麻煩 – 8vius 2012-04-02 16:15:21

+0

該鏈接仍然是相關的建議。一旦您移出條形圖按鈕項或動作表,iOS中的內置按鈕就非常糟糕。 – jrturton 2012-04-02 17:48:06

2

什麼是按鈕類型?如果你想自定義按鈕,你必須創建一個按鈕[UIButton buttonWithType:UIButtonTypeCustom]

+0

是的。這是非常重要的,很容易錯過。我不知道有多少次我花了半個小時試圖弄清楚爲什麼我的按鈕看起來不正確,才終於意識到我沒有將它們設置爲Custom。 – Eagle11 2015-09-14 19:17:08

-2

我發現這幾乎是在偶然:

self.loginButton.tintColor = [UIColor redColor]; 

絕對可行,因爲iOS的2.0已經可用。

+0

你試過這個嗎?這是行不通的。 – 2012-11-09 12:20:59

+3

當按下按鈕時,tintColor只設置顏色。 – cat 2012-12-12 13:12:54

+0

貓是對的,只有當按鈕被按下時。 – helioz 2013-06-23 13:30:57