2017-09-04 7 views
1

私はUIPageViewControllerをContainer Viewに埋め込みようとしています。Contrainer ViewのUIPageViewController

enter image description here

それはのUIViewControllerで構成コンテナビューと下部の2つのボタンを保持している:ContainerViewは、次のようなレイアウトを持っています。

Container ViewとUIPageViewControllerの間の接続は、 "embed segue"によって確立されます。

UIPageViewControllerは3つのUIViewControllerを管理します。各のUIViewControllerアプリのウォークスルーチュートリアル画面を表し、次のようなレイアウトになっています。

enter image description here

問題:私はアプリを実行すると、それがになっているとして、最初のウォークスルー画面は、すべてのレイアウト要素が表示されている意味になります適切:

enter image description here

しかし、私はフレームの外に、その下にある他の2つのラベルを、押し下げ、表示されている次のウォークスルー画面のみUIImageViewにスクロール:

enter image description here

私はどのようにコンテナビューはUIPageViewControllerによって管理UIViewControllersのすべての要素を表示することができます不思議でしたか?

+0

を垂直スタックビュー内のチュートリアル画面の内容を入れて、UIImageView低いコンテンツを与えることによって、この問題を解決しました。サブクラスを追加するビューについての情報のみを与えます。また、あなたが期待するものとあなたの現在の結果のイメージを示してください。追加した3番目と4番目の画像は、同じページに属していないようです! – Honey

+0

3番目のイメージは私が期待しているものを示し、4番目のイメージは実際に得たものを示しています。 4番目のイメージでは、UIImageViewのみが表示され、他の2つのラベルは、名前からプッシュダウンされます。 – Gideon

答えて

0

私は私はあなたはあまり関係のない情報を与えている理解して何から圧縮の抵抗の優先順位

0

imageViewの下部の制約を0に設定しないでください。見出しの上のアンカーにそれを拘束する必要があります。同様に、見出しの一番下を説明topに設定する必要があります。説明の下をスーパービューの下に設定します。

+0

シームが働かない。あなたが示唆したように試しても、私には同じことが与えられます。私のUIPageViewControllerでは、viewDidLoadメソッドではなくプロパティ内でインスタンス化されているレイジープロパティ(配列)のウォークスルー画面のUIViewControllerを作成するということで何かを行う必要がありますか?つまり、各ビューコントローラは、画面に表示される前に、バックグラウンドでインスタンス化されます。 – Gideon

+0

注意すべきことは、画面を回転して回転させると、すべてのUIViewControllerが正しく表示されることです。 – Gideon

+0

'viewDidLoad'の中で' init'メソッドが早すぎるため、ビューがまだ画面に表示されていません。 – Honey

関連する問題