2010-11-20 7 views
0

나는 하나의 UIBarButtonItem에서 단독으로 표시하고있는 UIPopoverController 안에 UITabBarController가 있습니다. 표시된 경우 popover가 허용되는 최대 수직 높이를 차지하기를 원합니다. 표시하려면 가볍게 두드리면 제대로 작동하고 닫은 다음 회전하십시오. 그러나 popover가 가로로 표시되고 세로로 회전하면 더 이상 전체 세로 거리를 채울 수 없습니다. 탭바 컨트롤러의 콘텐츠 크기 속성이 320 x 1000으로 설정되어 있으며 장치가 회전 할 때마다이 설정을 다시 시도했습니다. 더욱이 사용자가 검색 창을 활성화하면 popover가 매우 작게 줄어들어 앱이 다시 시작될 때까지 그대로 유지됩니다. 또한 http://cl.ly/3JdC불규칙하게 팝업 크기 조절

http://cl.ly/3JVF

어떻게이를 중지하고 팝 오버를 가질 수에

http://cl.ly/3JdC는 항상 최대 세로 크기를 채울?

답변

1

난 그냥 같은 문제가 내가 방법을 사용하여 UIPopoverController을 제시하는 경우에만 발생하는 것을 발견했다 :

- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated 

을하지만 사용할 때 그것을 잘 작동합니다 :

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated 

을 불행하게도 UIBarButtonItem 프레임 마지막에 사용할 수있는 Rect가 없으므로 UIToolbar의 프레임을 사용하고 frame.origin.xframe.size.width을 수정하면 팝업이 나타나게됩니다. UIBarButtonItem 옆의 올바른 위치에 있습니다.

잘하면 Apple은 iOS의 다음 릴리스에서이 문제를 해결할 것입니다.

안부

+2

I 넣어'self.contentSizeForViewInPopover CGSizeMake = (0, 0); self.contentSizeForViewInPopover = CGSizeMake (320, 1000);'를 -viewDidAppear :'메소드에 추가하면 효과가 있습니다. 그것은 해킹처럼 느껴지지만. – axiixc