私は少し遅れていますが、私は前に正確な問題に直面しました。しかし、
ステップ1:
は、デザインの基本画面を取ります。私はiphone 7 plusを選びます。
ステップ2:
は、いくつかの定数を定義します。
なぜ?
これにautolayout制約の定数を掛ける必要があります。
なぜ自動レイアウトですか?
あなたはすべてのデバイスにアプリケーションを適合させたい場合は、あなたは 自動レイアウトとサイズクラスを使用する必要があります。
私はあなたに私の定数を与えています:
var SCREEN_WIDTH = UIScreen.main.bounds.size.width
var SCREEN_HEIGHT = UIScreen.main.bounds.size.height
var BASE_SCREEN_HEIGHT:CGFloat = 736.0
var SCREEN_MAX_LENGTH = max(SCREEN_WIDTH, SCREEN_HEIGHT)
var ASPECT_RATIO_RESPECT_OF_7P = SCREEN_MAX_LENGTH/BASE_SCREEN_HEIGHT
ステップ3:あなたが行われ
。今これを使う方法。ちょうど書くあなたがのviewDidLoad
に定数30
をリードしているボタンに自動レイアウトをしたとします
yourButtonLeadingConstraint.constant = 30 * ASPECT_RATIO_RESPECT_OF_7P
をのみ、このラインのために、それは他のすべてのデバイスで30Pxの縦横比を維持します。
ステップ4:
何デバイスの向きはどうですか?
は姿勢の変化に対応するには、この方法を利用
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
if UIDevice.currentDevice().orientation.isLandscape.boolValue {
print("Landscape")
//write your code here such changing autolayout value
} else {
print("Portrait")
// write your code here such changing autolayout value
}
}
と呼ばれる機能があります。
注:
あなたは風景モードのためのあなたのレイアウトを変更したい場合は、それがtoo.No行うことができます あなたはそれをGoogleや、適切な答えを見つけることができますit.Iが考えて行う方法について多くのチュートリアルがあります。 。
自動レイアウトを使用していますか? –
[iphone 4とiphone 5の画面サイズをプログラムで確認する方法](https://stackoverflow.com/questions/27775779/how-to-check-screen-size-of-iphone-4-and) -iphone-5-programmatically-in-swift) – shallowThought
多分、私はそれがiPadsの問題を解決するかどうか分からない。 – kemkriszt