4

私は iOS アプリに取り組んでおり、iPhone 5、6、6+ の UI はすべてのフォントがデバイスごとに異なることを確認しましたが、私の要件は、ボタンのサイズとフォントのサイズが iPhone4s、5 と同じで、iPhone 6 とは異なる必要があることです。 6+。アプリでこれを達成するにはどうすればよいですか。プログラムで実行できることはわかっていますが、アダプティブ レイアウトを使用してストーリーボードで実行する機会はありますか。

私はxcode7.2、swift2を使用しています。

前もって感謝します..

4

1 に答える 1

0

私は同じ問題に直面していて、 Swifts Computed Propertiesを使用して解決しました。画面のサイズに応じて適切なフォントサイズで動的に初期化される静的変数fontsizeを作成しました。

import UIKit

class ViewFunctions {

    let screenSize = UIScreen.mainScreen().bounds.size
    static var fontsize: CGFloat {
        get {
            if screenSize.height >= 1024 { // iPad Pro
                return 16.0
            } else if screenSize.height >= 768 { // iPad
                return 16.0
            } else if screenSize.height >= 414 { // iPhone 6Plus
                return 15.0
            } else if screenSize.height >= 375 { // iPhone 6/s
                return 15.0
            } else if screenSize.height >= 320 { // iPhone 5/s
                return 14.0
            } else if screenSize.height >= 319 { // iPhone 4/s
                return 14.0
            } else {
                return 14.0
            }
        }
    }

}

次に、たとえば、ボタン ラベルのフォント サイズを設定するために使用します。

import UIKit

class TestClass {    

    var testButton: UIButton = UIButton(type: UIButtonType.System) as UIButton!
    testButton.titleLabel!.font = UIFont(name: "Helvetica Neue", size: ViewFunctions.fontsize)
    testButton.setTitle("Test", forState: .Normal)
    // add button to view or sth like that...

}
于 2016-02-06T20:19:38.583 に答える