2012-10-04 2 views
1

현재 프로젝트에서 iOS 5.0 이상을 대상으로하는 일부보기가 표시됩니다. 현재 화면에 그려져 있습니다.선택을 허용하는 버튼을 누른 후 팝 오버에서보기 컨트롤러를 닫는 방법

[self setChooseLayoutPopover:[[UIPopoverController alloc] initWithContentViewController:choiceController]]; 
    [[self chooseLayoutPopover] setDelegate:self]; 
    [[self chooseLayoutPopover] setPopoverContentSize:CGSizeMake(320.0, 460.0)];   
    [[self chooseLayoutPopover] presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
: 아이 패드에

[self presentViewController:choiceController animated:YES completion:nil]; 

나는이를 호출하여 팝 오버에서 같은 뷰 컨트롤러의 의견을 보여 아이폰 & 아이팟 터치에

나는 호출하여 전체 화면을 통해 선택 뷰 컨트롤러 테이크가 보자

두 경우 모두 선택보기 컨트롤러에 두 개의 해제 블록을 전달합니다. 하나는 레이아웃이 실제로 선택되었을 때이고 다른 하나는 사용자가 작업을 취소 할 때입니다. Popover의 범위 밖에있는 iPad를 만지면 iPhone에서 취소됩니다. & iPod Touch도 작동하는 취소 버튼이 표시됩니다. 아이폰 & 아이팟 터치에

선택의 여지를 만들기위한 블록을 기각의 나하는 것은 호출하여 작동합니다
[[self presentingViewController] dismissViewControllerAnimated:YES completion:[self dismissBlockDone]]; 

하지만 아이 패드 presentingViewController

항상 전무, 그리고 내가 제시 뷰 컨트롤러에 대한 포인터를 전달하는 경우에도 자신이를 사용하여 위의 호출은 iPad에서는 아무 작업도 수행하지 않습니다.

-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController을 구현하고 프리젠 테이션 뷰 컨트롤러를 popover의 위임자로 설정했는데 사용자가 popover 외부를 터치 할 때이 메서드가 호출되지만 사용자가 실제로 선택 항목을 터치 한 후 호출 할 대상을 찾을 수 없습니다. 단추. 내가 선택한 값을 설정할 수 있지만 나중에 popover에서 벗어나는 방법을 모르겠다.

제안 사항? 팝 오버를 닫

[popoverController dismissPopoverAnimated:YES]; 

:

답변

6

당신이 뭔가를 호출하지할까요? 아니면 뭔가 이해 못하겠습니까? 이 도움이

+0

네, 맞습니다 : 프로그래밍 방식으로 스스로를 닫을 수 있도록 내 선택보기 컨트롤러에서 팝업으로 포인터를 전달합니다. 델리게이트의 해산 방법을 다시 호출하지 않기 때문에이 컨트롤러 내부에서 정리를해야합니다. 하지만, 지금은 작동, 나를 위해 이것을 해결해 주셔서 감사합니다 ... –

+0

다행히 도왔습니다! – sergio

0

전화

[popoverController dismissPopoverAnimated:NO]; 

희망!

관련 문제