2010-11-20 8 views
0

私は1つのUIBarButtonItemから表示しているUIPopoverControllerの中にUITabBarControllerを持っています。表示されるとき、私はpopoverが許容される最大垂直高さを取るようにします。私はそれを表示するためにタップし、次に閉じてから回転させるとうまくいきます。しかし、私がポップオーバーを風景で表示してからポートレートに回転させると、垂直方向の全体の距離を埋めることはなくなります。私はタブバーのコントローラのコンテンツサイズプロパティを320で1000に設定していますが、デバイスが回転するたびにこれをリセットしようとしました。さらに悪いことに、ユーザーが検索バーをアクティブにすると、ポップオーバーは非常に小さく縮小し、アプリが再開されるまでその状態を保ちます。またhttp://cl.ly/3JdC不自然なポップオーバーのサイズ変更

http://cl.ly/3JVF

どのように私はこれを停止し、ポップオーバーを持つことができると

http://cl.ly/3JdCは常に最大垂直方向のサイズを埋めますか?

私は同じ問題を抱えて、私はこの方法を使用して UIPopoverControllerを提示したときに、それが唯一の起こることがわかった

答えて

1

- (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

私が入れ 'self.contentSizeForViewInPopover = CGSizeMake(0、0); self.contentSizeForViewInPopover = CGSizeMake(320、1000); 'を-viewDidAppear:'メソッドに追加し、それもうまくいきました。それはハックのように感じるが。 – axiixc

関連する問題