2013-03-17 50 views
0

我有一個帶有Round Rect按鈕的ipad應用程序。我有兩個問題。在UIButton上定位文字的難度很大

1 - 我無法讓文字居中。我曾嘗試過:

menuButton.contentHorizontalAlignment = 0; 

但它似乎沒有工作。換行符模式設置爲換行。

2 - 在文本爲「使用電子數學」的另一個按鈕上,連字符用作實際連字符,因此文本在一行上包含「使用e-」,第二行包含「數學」。

對這些查詢的任何幫助非常感謝。

回答

0

UIButton如果您在運行時更改文本,則不會調整其標題標籤的大小。您必須撥打[button sizeToFit];或以其他方式改變按鈕的框架,以便調整標題標籤大小。您還可以繼續使用UIButton的子類更改每次更改標題文本時標籤的大小。

+0

再次,我很抱歉,但我很困惑。我不認爲我想改變文本的大小,只是居中。另外,即使在運行時更改文本,也會遇到問題,因爲它說這些屬性都是隻讀的。謝謝你的幫助。 – RGriffiths 2013-03-18 17:38:18

+0

如何更改按鈕上的文字?顯示你的代碼。 – 2013-03-19 07:41:45

0

你可以子類UIButton的類,你可以在新的子歸入​​按鈕

[button titleLabel]drawTextInRect:frame]; 

在框架相對於按鈕的邊界的畫矩形添加這個方法,在這裏你可以定位標籤的正文如你所願。

+0

謝謝你的幫助,但我不明白我在這裏要做什麼。如果該按鈕被稱爲menuButton,那麼我如何使用你所說的將文本居中?對不起,但你如何分類UIButton? – RGriffiths 2013-03-18 17:28:19

+0

@ richard-griffiths說你有一個尺寸爲60x30px的按鈕,你可以將文本重定位爲[[button titleLabel] drawTextInRect:CGRectMake(10,5,self.view.bounds.size.width-20,self.view.bounds .size.height-10)];所以你在這裏做的是你從左邊距和右邊距開始標籤10px,從上邊距和下邊距開始5px。 – MaheshShanbhag 2013-03-27 10:07:27