3

UINavigationControllerを使用し、いくつかのUIViewControllerをプッシュして、iPhone用の静的ライブラリを開発しました。

私は、ipad開発者が私のライブラリをiPadアプリケーションに含めることができるようにする方法を実装しています。そのためには、ライブラリコントローラーをiphoneサイズのUIPopoverControllerに表示します。

それは私が開発したものですが、新しいviewControllerをプッシュするたびに、Popoverは非常に奇妙な方法でサイズを変更します。

ここに画像の説明を入力してください

(Interface Builderを介して)View Controllerを確認しましたが、AutoResizeの動作が無効になっています。

誰かが解決策を持っていますか?

4

3 に答える 3

5

ディスプレイがこのプロパティを設定する必要がUIViewControllerあること:UIPopoverViewController

contentSizeForViewInPopover

表示サイズを示し、そのUIPopoverViewControllerプロパティの値に応じてサイズが変更されます。例えば:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.contentSizeForViewInPopover = self.view.frame.size;
    // Do any additional setup after loading the view from its nib.
}
于 2012-07-06T12:17:35.200 に答える
0

私があなたの問題を理解している限り、コントローラーをUINavigationControllerのルートコントローラーであるにプッシュするたびに、ポップオーバーのサイズが変更されますUIPopoverController。なぜこれが発生するのかはわかりませんが、popoverControllerの参照(シングルトン参照を作成できます)をView Controllerに送信し、コントローラーをプッシュするたびにpopoverControllerReference手動で設定することで、これを取り除くことができます。popoverContentSizepopoverControllerReference.popoverContentSize = CGSizeMake(320, 460);

于 2012-07-06T11:32:31.993 に答える
0

受け入れられた回答は、iOS7.0で廃止された方法を使用しています。

私は同じ問題を抱えていて、popoverContentSizeを使用して成功しました。

以下に沿った何か:

[_popoverSegue.popoverController setPopoverContentSize:CGSizeMake(320.0f, 460.0f)];

ここで、_popoverSegueはUIStoryboardPopoverSegueのインスタンスです。

これが将来の訪問者に役立つことを願っています...

(申し訳ありませんが、受け入れられた回答にコメントする必要がありましたが、十分な評判がありません...)

于 2014-09-03T15:41:48.237 に答える