私はiPhone 7セカンダリビューは、「ビューとして」変更されたときにストーリーボード内で自動的にサイズを変更できますか?
として見たときにストーリーボードにこのようになりますこれは、二次ビューとビューコントローラを持っている。しかし、私はiPhone SEとしてビューに切り替えた場合、それは次のようになります。
ビューコントローラと同じ方法でストーリーボード内で自動的にサイズを変更することは可能ですか?
私はiPhone 7セカンダリビューは、「ビューとして」変更されたときにストーリーボード内で自動的にサイズを変更できますか?
として見たときにストーリーボードにこのようになりますこれは、二次ビューとビューコントローラを持っている。しかし、私はiPhone SEとしてビューに切り替えた場合、それは次のようになります。
ビューコントローラと同じ方法でストーリーボード内で自動的にサイズを変更することは可能ですか?
現在、あなたが説明したことを行う方法はありません。
device configuration paneは、ViewControllers
のレイアウトのみを自動的に調整します。UIViews
ではありません。
さまざまなデバイスでカスタムUIコンポーネントの外観をプレビューする場合は、UIView
をサブクラス化し、@IBDesignable
,@IBInspectable
をサブクラス化することを強くおすすめします。また、 "ウィジェット"のデザインをレイアウトするXIB
ファイルを作成します。
このようにして、他のビューと同じようにカスタムコンポーネントをInterface Builderで使用し、上記のデバイスコンフィグレーションペインを使用してプレビューすることができます。
たとえば、2つのカスタムコンポーネントがあるとします.1つはスイッチボタン付きの簡単な質問で、もう1つはクレジットカードの「ロック/ロック解除」コンポーネントです。
カスタムコンポーネント1
:どちらも、カスタムコンポーネント2
XIB
ファイルと
UIView
サブクラスに依存しています
私は今、どのビューコントローラの内部で、他のビューとInterface Builderでそれらを使用することができます。
そして最後に(今、あなたの質問に取得する)、我々はそれが異なる上のようになりますどのようにプレビューを生きることができますデバイス・コンフィギュレーション・ペインを使用してデバイス:
4Sプレビュー
7+プレビュー
ええと...まずは何を達成しようとしていますか?私はそのような方法でView Controllerにビューを追加したことはありません。そのUIViewのタイトルに基づいて、カスタムビューでエラーを処理しようとしているようです。ここには、 "ビジュアルフォーマットの制約"/NSLayoutConstraint
のコードのクイックプレビューが必要です(それほど深くはありません)。
MyCustomView
(またはこれまで)と呼ばれるクラスを作成し、それをUIViewから継承させます。次に、あなたのUIViewControllerで、ビジュアルフォーマットで制約を使用する必要があるときに追加することができます。
1)あなたは(このコードは、ビューコントローラ内のどこかにある)、それを提示する必要があり、これまでときにMyCustomView
を初期化して設定します。
let alertView = MyCustomView(frame: CGRect(0,0,200,150))
self.view.addSubview(alertView)
alertView.constrainToSuperView()
2)これはconstrainToSuperView
は、カスタムクラスで次のようになります。
private func constrainToSuperView() {
self.translatesAutoresizingMaskIntoConstraints = false
var constraints = [NSLayoutConstraint]()
let vertical = NSLayoutConstraint.constraints(withVisualFormat: "V:|[self]|", options: [], metrics: nil, views: ["self": self])
constraints.append(contentsOf: vertical)
let horizontal = NSLayoutConstraint.constraints(withVisualFormat: "H:|[self]|", options: [], metrics: nil, views: ["self": self])
constraints.append(contentsOf: horizontal)
self.superview.addConstraints(constraints)
}
あり、コードに制約を管理について学ぶためにトーンですが、それはトリックしばらく価値があります。カスタムビューを作成し、ストーリーボードを少しきれいに保つのに役立ちます。
注1:MyCustomView
クラスにゼロのコンテンツを追加しました。今すぐ空白のビューが表示されます。コンテンツを追加する方法は2つあります。 Fistでは、コードで制約を書く道を続けることができます。また、.xibファイルを追加して、このカスタムビューの内部を作成することもできます。 2番目の方法はおそらく行く方法です。
注2:カスタムビューをストーリーボードに追加してから、その制約のコンセントを作成することができます。その後、制約をアニメートして、ビューをスクリーンから外したり、画面上でそれを提示する必要があるときに移動したりすることができます。
質問がある場合はお知らせください。私は私の答えを広げてうれしいです。