2011-01-04 5 views
0

A의 자신을 복제 매우 독특한 버그 :는 UIPopoverController 어떤 이유로

나는 그런 UIPopoverController을 튀어 BarButtonItem 있습니다

예상대로
-(void) addNewProjectButtonClicked:(id)sender 
{ 
    //Some Preparations.... 

    [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

, 팝 오버 컨트롤러가 올바른 위치에 나타납니다.

이제는 내가 팝업을하지 않고 아무데도을 만지면 그 일이 기각 될 것으로 예상됩니다.
글쎄, 단 하나의 문제는 이전 버튼을 해제하고 예상했던대로 BarButton을 다시 popover했을 때 결과가 입니다. Popover가 기존 . 다시 말하면, 다른 곳을 여러번 클릭하는 것만으로 해산 될 수있는 더미를 얻을 수 있다는 것을 의미합니다.

나는이 문제를 해결하기 위해 여기에 싱글 톤 디자인 패턴을 사용할 수 있다는 것을 알고 있지만, 그것을 처리하는 더 쉽고 내장 된 방법이 아닌가?

감사합니다!

답변

2

몇 달 전에 같은 문제가 발생하여 을 두드렸을 때 그 자체가 기각 될 것이라고 생각했지만은 그렇지 않습니다.

내가 처리하는 방식은 이전 popover에 대한 참조를 유지하고 UIBarButtonItem이 탭될 때이를 닫는 것입니다.

-(void) addNewProjectButtonClicked:(id)sender 
{ 
    [popover dismissPopoverAnimated:YES]; 
    // Set it up again. 
    [popover ...]; 
} 

쉬운 메모리 관리를 위해 속성을 사용하거나 직접 처리 할 수 ​​있습니다.

관련 문제