2010-06-30 4 views
1

내가 어떤 현재 표시 UIPopoverControllers을 해고하기 위해 노력하고있어 도청 후 (있는 경우 표시) UIPopoverController을 기각하는 경우/스타일/미디어/도구 등 사이에 도청 할 때 iPad 용 페이지에서 볼 수 있듯이 다른 UIBarButtonItem을 탭하면UIBarButtonItem

나는이 일을했지만 너무 특별하다. 뭔가 일반적인 것을 찾고 있습니다.

if ([popoverController isPopoverVisisble]) { 
[popoverController dismissPopoverAnimated:YES]; 
} 

고마워요!

답변

2

popover 컨트롤러의 passthroughViews 속성을 설정 했습니까? 이렇게하면 외부로두면 popover가 자동으로 닫히지 않고 대신 해당 배열의보기로 전송됩니다. 이 배열에 UIBarButtonItem을 추가 한 다음 해당 핸들러에서 팝업을 닫을 수 있어야합니다.

1

randallmeadows 대답은 작동하지 않습니다. UIBarButtonItem은 UIView의 하위 항목이 아니므로 passthroughViews에 추가 할 수 없습니다.

내가 지금 발견 된 유일한 해결책은

UIBarButtonItem *b = [[UIBarButtonItem alloc] initWithCustomView:button] 

다음

popoverController.passthroughViews = [NSArray arrayWithObject:b.customView]; 

하지만 모든 스타일을 느슨하게거야 준비를 사용하여있는 UIButton 정의와 UIBarButtonItem을 만드는 것입니다 - 당신은 만들 수 없습니다 UIBarButtoItem처럼 보이기 쉬운 UIButton.

0
[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
popoverController.passthroughViews = @[]; 

작품 나에게 대한

관련 문제