2017-03-16 16 views
0

iOS 10 ipad 응용 프로그램에서 popover를 중심에 놓으려고합니다.iOS 10 popoverPresentationController는 prepareForSegue에서 nil입니다.

내 스토리 보드에서 한 화면에서 다른보기로 팝 오버 세그를 만들었습니다. 나는 SEGUE의 '팝 오버'에 '종류'를 설정 한 :

enter image description here

을 다음 prepareForSegue에 :

if ([[segue identifier] isEqualToString:@"PopoverSegue"]) { 
    UIPopoverPresentationController *popoverController = segue.destinationViewController.popoverPresentationController; 
    popoverController.sourceView = self.view; 
    popoverController.sourceRect = self.view.bounds; 
} 

그러나 popoverController이 전무하다. 다른 사람의 성공이 일을 한 것 같습니다 주위 상대 :

How to change the size of a popover

팝 오버의 SEGUE는 스토리 보드를 만들 때 내가 prepareForSegue에서 popoverPresentationController의 보류를 얻을 수없는 이유는 어떤 아이디어가?

+0

아키텍처를 모르지만 navaigationController가 누락 될 수 있습니다. 이것을보십시오 : segue.destinationViewController.navigationController.popoverPresentationController or segue.destinationViewController.popoverPresentationController.navigationController – Ramis

+0

내 viewcontroller를 내비게이션 컨트롤러에 내장하지 않습니다. 따라서 탐색 컨트롤러가 없습니다. 내가 아는 한 popoverPresentationController는 popover에 포함 된 뷰에 있어야합니다. 재미로 볼 때 내보기가 내비게이션 컨트롤러에 포함되어 차이가 있는지 확인했습니다. iOS 10의 버그? iOS 10에서는 지원되지 않습니까? – lostintranslation

답변

0

귀하의 하위 kind입니다. Popover입니다. Popover으로 변경하면 destinationViewController.popoverPresentationController 속성의 값이 표시됩니다. 스토리 보드 등록 정보에서 특성 변형을 명시 적으로 활성화해야합니다 (현재 있음). 팝업으로이 옵션으로 표시됩니다.