下の写真のように、異なるiPhoneサイズ(4インチ、4.7インチ、5.5インチ)では、青色と赤色のビューは同じ相対位置にありますが、スクロールしてさらに情報を表示するためのスペースを増やすことができます。これを行うにはどのように?異なるiPhoneサイズで相対的に同じ場所でビュー/オブジェクトを固定する方法は?
私は、スクロールビューで、このような実装方法に困惑している。あなたの助けのおかげで非常に多くを!
下の写真のように、異なるiPhoneサイズ(4インチ、4.7インチ、5.5インチ)では、青色と赤色のビューは同じ相対位置にありますが、スクロールしてさらに情報を表示するためのスペースを増やすことができます。これを行うにはどのように?異なるiPhoneサイズで相対的に同じ場所でビュー/オブジェクトを固定する方法は?
私は、スクロールビューで、このような実装方法に困惑している。あなたの助けのおかげで非常に多くを!
@Azatによって示唆されるように、私たちは「UIScreen.mainScreenを(使用することができます) .bounds.height "を実行時に異なるiPhoneのサイズに基づいて取得するため、相対的な固定位置で動的にビューをレイアウトすることができます。上記の例の例:
。UIScreen.mainScreenを()は1,2,3,4,5のために、我々は、関数内のコードを書くことができるなど、のviewDidLoadでそれを呼び出す:
func viewLayout() {
let bottomMargin:CGFloat = 20.0
let sceneHeight = UIScreen.mainScreen().bounds.height
let topDistance = sceneHeight - stackView.frame.height - bottomMargin
let metric = ["topDistance": topDistance, "bottomMargin": 20.0]
let views = ["stackView": stackView, "orangeView": orangeView]
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-topDistance-[stackView]-bottomMargin-[orangeView]-bottomMargin-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: metric, views: views))
}
ので、あなたが使用してどのようなiPhoneサイズ、スタック表示常に下から20ポイント離れたシーンの下部にレイアウトし、下にスクロールしてオレンジ色のビューを表示します。
この情報のみを使用して、私は現在の画面の高さを見つけて、手動で位置を計算することをお勧めします – Azat