簡體   English   中英

自動版式,大小類別和字體大小

[英]Autolayout, size classes and font size

我目前正在使用以下工具:Swift(1.2),Xcode(6.3)和iOS 8.3。

我目前有一個應用程序,該應用程序與此問題的示例類似:

故事板

對於每個UIButton / UILabel,我想根據使用的設備(例如,iPhone 4s至iPhone 6 Plus)配置其字體大小。

如您所見,我嘗試使用“文本顯示控件”來添加大字體(44)和另一個小字體(33)。 對於第二個,設置為“寬度:緊湊;高度:任意”。

以下是我目前的結果:

屏幕

但是,如您所見,iPhone 6 Plus上的字體仍然很小。 我嘗試更改“寬度:緊湊;高度:常規”的設置(小字體)以及系統字體; 但是結果是一樣的:(

我怎么會有這樣的東西(iPhone 6 Plus的大字體)?

屏幕確定

有沒有辦法:

  • 直接在情節提要中使用AutoLayout定位特定設備?
  • 使用一些技巧使其看起來很棒(也許有限制和最小字體大小)?
  • 是否在情節提要之外(通過代碼)? 唯一的解決方案是檢查UIScreen.mainScreen().bounds.size.width的值?

我只是使用自己的一個應用程序經歷了類似的事情,並決定采用以下解決方案:

// global utility...
var on6plus : Bool {
    return UIScreen.mainScreen().traitCollection.displayScale > 2.5
}

// and then, in my view controller's viewDidLoad...
if on6plus {
    for lab in [self.scoreLabel, self.prevLabel, self.stageLabel] {
        let f = lab.font
        lab.font = f.fontWithSize(f.pointSize + 2)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM