2014-12-07 82 views
-1

我正在一個小的iOS應用程序,我必須根據設備更改UIButton的字體大小。我可以使用自動佈局並根據設備更改UIButton框架,但字體大小保持不變。我不想檢查設備的條件,因爲我的應用程序將在iPad和iPhone以及橫向和縱向模式下運行。這讓我去檢查12個條件,這不是一個好的做法。UIButton字體大小在運行時

基本上我不想用這樣的

[_myButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:40.0f]] ; 

我用Google搜索一下,設置字體,但我找不到任何可以解決我的問題。

任何幫助表示讚賞。

在此先感謝。

編輯:

我試過這個,但它沒有奏效。

[[_myButton titleLabel] setAdjustsFontSizeToFitWidth:YES] ; 

編輯: enter image description here enter image description here

這裏是我的問題所附截屏。我希望這將有助於理解我的問題。

+0

爲什麼下降投票?如果沒有什麼可以研究,那麼請幫我解決我的問題... – 2014-12-08 02:17:30

回答

0

setAdjustsFontSizeToWidth不根據設備寬度調整字體,而是在控件的邊界 - 按鈕的標籤,在這種情況下。如果您希望字體大小隨每個設備而改變,請嘗試在故事板或.xib文件中將按鈕的前導和尾隨空間限制設置得更高,但使用您嘗試的代碼。

Example of how to add a constraint

確認按鈕只是大到足以適應文本,然後選擇它,然後從右鍵單擊右下角的第三個按鈕。單擊兩個水平紅線,並自動填充其值,然後單擊「添加2約束」。希望這會有所幫助。

+1

謝謝喬治,不幸的是,這也沒有爲我工作。如果能夠幫助您理解我的問題,我已經使用屏幕截圖編輯了我的問題。 – 2014-12-08 01:52:33

0

以下是步驟: -

1)創建按鈕的子類。

2)實現以下方法: -

-(CGSize)intrinsicContentSize { 
    return CGSizeMake(self.frame.size.width, self.titleLabel.frame.size.height); 
} 
+0

感謝您的回覆,但它對我無效。當我使用這個,self.titleLabel.frame.size.height返回高度爲'0'。 – 2014-12-08 01:47:55

+0

在這種情況下,您不應該設置高度限制。 – 2014-12-08 01:53:22

+0

我嘗試了相同的建議。 – 2014-12-08 01:56:34