0

UIPopoverController에 UINavigationController를 제공합니다. UINavigationController에는 동일한 너비이지만 높이가 다른 2 개의 UIViewController가 있습니다. 두 UIViewControllers은 내가 모두 UIViewControllers에서 다음 코드를 사용하여 적절한 크기의 UIPopoverController에 표시되어 있는지 확인하려면 다음ios UINavigationController in UIPopoverController 및 setPopoverContentSize 오류

- (void)viewDidAppear:(BOOL)animated 
{ 
    [self.popoverControllerContainer setPopoverContentSize:self.contentSizeForViewInPopover animated:YES]; 
} 

그것은 두 번째의 UIViewController을 위해 잘 작동 나는 그것을 밀어 내가 다시 팝업 경우에도, 잘 작동 할 때 첫 번째 하나,하지만 그것을 처음으로 처음으로 제시 할 때 UIViewController 높이가 작아지고 레이아웃을 중단합니다.

왜 이런 일이 발생하는지 알고 싶습니다. 사전에

덕분에, 진심으로,

ZOLI

+0

'viewDidLoad'로 통화 이동을 시도 했습니까? –

+0

그것은 내가 항상 viewcontroller를 초기화하는 경우에만 실행됩니다. 만약 내가 그것을 이동하고 그것으로부터 새로운 viewcontroller를 밀면, 그때 그것은 다시 태어 났을 때, 아무런 영향을 미치지 않는 –

답변

0

는에 self.contentSizeForViewInPopover을 설정보십시오 - [있는 viewDidLoad]과의 popoverController.popoverContentSize을 설정 - [viewWillAppear :]. 물론 이것은 popoverController에 대한 포인터를 저장해야합니다.

+0

에서 터져 나오는 viewcontroller의 내용 크기를 갖게 될 것입니다. 애니메이션이 가능하기 때문에보기가 표시된 후에 수행 할 수 있습니다. 그리고 멋진 애니메이션입니다. 그래서 계속 그렇게하고 싶습니다. 나는 그것을 bool과 viewdidappear에 if와 함께 고칠 수있다. 그것은 단지 우아하지 않고 나는 이유를 알고 싶다. –

관련 문제