此圖片顯示了我想要實現:配件按鈕上的文字大小,以匹配按鈕大小
我指定的2個按鈕的寬度是相同的0.4 * redViewWidth和高度0.8 * redViewheight。比我想要的文字大小爲2行,儘可能大,仍然適合按鈕框架。我正在使用自定義字體並且沒有自動佈局。令我驚訝的是,這並沒有發生。該文本是在2行,但文字字體太大,並明確不適合按鈕大小。我哪裏做錯了?
編輯:redView使用自動佈局。用按鈕填充redView不使用。
let font = UIFont(name: "customfont", size: 19)
button1 = UIButton()
button2 = UIButton()
button1.frame = CGRectMake(navigationBarView.frame.width*0.6, navigationBarView.frame.height*0.1, navigationBarView.frame.width*0.4, navigationBarView.frame.height*0.8)
button2.frame = CGRectMake(navigationBarView.frame.width*0.2, navigationBarView.frame.height*0.1, navigationBarView.frame.width*0.4, navigationBarView.frame.height*0.8)
button1.setTitle("button2\ntext text text text", forState: UIControlState.Normal)
button1.titleLabel?.textAlignment = NSTextAlignment.Center
button1.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
button1.titleLabel?.font=font
button1.titleLabel?.adjustsFontSizeToFitWidth=true
button1.titleLabel?.minimumScaleFactor = 0.1
button2.setTitle("button1\ntext text text text", forState: UIControlState.Normal)
button2.titleLabel?.textAlignment = NSTextAlignment.Center
button2.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
button2.titleLabel?.font=font
button2.titleLabel?.adjustsFontSizeToFitWidth=true
button2.titleLabel?.minimumScaleFactor = 0.1
其實,標題標籤在2行中已經有了這個意思。問題是文本字體大小不調整以匹配按鈕的框架。 – brumbrum
看看編輯,另一種方法是遍歷字體大小,並檢查每個字體的lineHeight屬性,雖然這看起來有點怪異。 –
感謝您的阻止。請原諒我,如果我誤解了代碼..我認爲這會改變按鈕框架,以適應其標題中的任何文本。在我的情況下,框架是固定的 - 總是0.4 * redViewWidth。這是需要改變以考慮iOS設備的不同屏幕的字體大小。 – brumbrum