2017-09-04 5 views
1

컨테이너보기에 UIPageViewController를 포함하려고합니다.Contrainer보기의 UIPageViewController

enter image description here

그것은 UIViewController에 구성 컨테이너보기 및 하단에 버튼 2 개를 보유하고 다음 ContainerView은 다음과 같은 레이아웃을 가지고 있습니다.

컨테이너 뷰와 UIPageViewController 간의 연결은 "embed segue"를 통해 설정됩니다.

UIPageViewController는 3 개의 UIViewController를 관리합니다. 각각의 UIViewController는 응용 프로그램 연습 튜토리얼 화면을 나타내며, 다음과 같은 레이아웃이 있습니다

enter image description here

문제점 : 나는 응용 프로그램을 실행하면이에 예정대로 첫 번째 연습 화면이 모든 레이아웃 요소를 의미하는 모습이 표시됩니다 제대로 :

enter image description here

그러나, 나는 프레임 밖으로, 아래에있는 다른 두 개의 레이블을 아래로 밀어, 표시되는 다음 연습 화면에만있는 UIImageView로 이동 :

enter image description here

나는 컨테이너보기 UIPageViewController에 의해 관리되는 UIViewControllers의 모든 요소를 ​​표시하는 방법 궁금 해서요?

+0

을 수직 스택보기 내에서 튜토리얼 화면의 내용을 넣어, 그리고 UIImageView에 적은 내용을 제공함으로써이 문제를 해결했다. 하위 클래스를 추가 할 뷰에 대한 정보 만 제공하십시오. 또한 기대 한 것과 현재의 결과에 대한 이미지를 보여줍니다. 추가 한 세 번째 및 네 번째 이미지는 같은 페이지에 속한 것 같지 않습니다! – Honey

+0

세 번째 이미지는 내가 원하는 것을 보여주고 네 번째 이미지는 내가 실제로 얻은 것을 보여줍니다. 네 번째 이미지에서는 UIImageView 만 표시되고 나머지 두 레이블은 명성에서 벗어나 푸시됩니다. – Gideon

답변

0

난 당신이 너무 많은 관련이없는 정보를 제공하고 이해하는 바로는 압축 저항의 우선 순위

0

imageView의 맨 아래 제약 조건을 0으로 설정하면 안됩니다. 제목을 상위 앵커로 제한해야합니다. 마찬가지로 표제의 맨 아래를 설명 상단으로 설정해야합니다. 그리고 설명의 맨 아래를 수퍼 뷰의 맨 아래로 설정하십시오.

+0

솔기가 작동하지 않습니다. 당신이 제안한대로 노력했지만 여전히 나에게 똑같은 것을 준다. 가능한 UIPageViewController 내에서 viewDidLoad 메서드가 아닌 속성 내에서 인스턴스화 된 게으른 속성 (배열)에서 walkthrough 화면 UIViewController를 만드는 것이 무엇이든 할 수 있습니까? 각보기 컨트롤러가 화면에 나타나기 전에 백그라운드에서 인스턴스화된다는 것을 의미합니다. – Gideon

+0

한 가지주의 할 점은, 화면을 회전시키고 회전시킬 때 모든 UIViewController가 올바르게 표시된다는 것입니다. – Gideon

+0

'viewDidLoad' 내부에'init' 메소드가 너무 일찍 설정되어 있어야하고 뷰가 아직 화면에로드되어 있지 않습니다. – Honey