3

UIModalPresentationFormsheet으로 표시된보기 컨트롤러에서 팝 오버 컨트롤러를 표시 할 수 있습니까? 또는 나는 무엇인가 놓치고 있냐?현재 표시된 뷰 컨트롤러 내부에서 UIPopoverController를

이 코드는 비 모달 뷰 컨트롤러에서 잘 작동하고, 올바르게 팝 오버를 표시합니다. (WEPopoverController는 here에서 사용자 정의 구현 한 것입니다.)

GenericDataTableViewController *genericDataController = [[GenericDataTableViewController alloc] initWithNibName:@"GenericDataTableViewController" bundle:[NSBundle mainBundle]]; 

    genericDataController.dataSource = [NSMutableArray arrayWithObjects:@"asli", nil]; 
    genericDataController.delegate = self; 
    genericDataController.contentSizeForViewInPopover = CGSizeMake(300, 46 * [genericDataController.dataSource count]); 

    self.popoverController = [[[WEPopoverController alloc] initWithContentViewController:genericDataController] autorelease]; 
    self.popoverController.delegate = self; 
    [self.popoverController presentPopoverFromRect:((UIButton *)sender).frame 
              inView:self.view 
          permittedArrowDirections:UIPopoverArrowDirectionUp 
              animated:YES]; 
    [genericDataController release]; 

을하지만 모달 뷰 컨트롤러 내부에서이 둘 때, 이것은 모달 컨트롤러, 즉 모달 컨트롤러를 표시하는 뷰 컨트롤러 아래에 popover를 제공합니다. 그래서 그것은 사용자가 볼 수 없습니다.

어떻게 해결할 수 있습니까? 경우, 폼 시트 내부에서 팝 오버 컨트롤러를 표시에 대한 제한이 없습니다

+1

나는 초기 스토리 보드를 만들었습니다. 초기보기에는 두 번째 VC에 모달 세그를 수행하는 버튼이 있습니다. 두 번째 VC에는 세 번째 VC에 대한 팝 오버 세그를 수행하는 버튼이 있습니다. 팝업 창이 올바르게 나타납니다. 그래서 예, 가능합니다. –

+0

코드에서 'self'는 모달 VC이고, 아니면 모달 VC를 제공 한 VC입니까? –

+0

자체는 모달 VC입니다. 첫 코멘트 rob을 이해할 수 없었습니다. segue가 무엇입니까? – aslisabanci

답변

3

대답은 질문의 의견에 설명되어 있지만 깨끗한 Q & A.

여기를 요약하고 있습니다 팝 오버 컨트롤러는 UIPopoverController입니다. 내 문제는 WEPopoverController의 구현 때문이었습니다.

따라서 시각적 인 경험을 희생하고 좋은 오래된 UIPopoverController을 계속하십시오.

+1

을 사용하지 않고 'navigationController'에 버튼을 추가하고 첫 번째 클릭에서만 실행되는'uipopovercontroller' 액션을 사용하여 popover로 제시하십시오. 해고 후 n 액션 셀렉터가 실행되지 않는다. – Rafeek

관련 문제