2

ViewController が UIPopoverPresentationController によって iOS 8 の方法で actionSheet (AlertController) を提示すると、ViewController はその境界を actionSheet のサイズに縮小します。

私がやろうとしたのは、アクションシートをポップオーバーに表示することですが、iOS 8 の方法でそれを行うと、この奇妙な状況になりました。

これが私がこの状況を手に入れた方法です」

  1. barButtonItem を押すと、UIPopoverPresentationController によって ViewController がポップされます。(画像1として)
  2. ViewController のボタンを押すと、actionSheet が表示されます
  3. その後、ViewController はそのサイズを actionSheet のサイズに縮小しました。(画像2のように)

そして、ここに参照用のプロジェクト全体があります。 https://github.com/allenlinli/ALtryEverything/tree/Q435235 プロジェクト「TryAlertOnPopoverOnBarButtonItemOniPad」にあります。

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

3

preferredContentSizeViewController.m の navigationController に使用するだけです

このような:

- (void)action:(id)sender
{
    // ....
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:historyViewController];
    navigationController.modalPresentationStyle = UIModalPresentationPopover;
    navigationController.preferredContentSize =CGSizeMake(320, 480);
    // ...
}

子ビュー コントローラーをレイアウトしているコンテナー ビューの優先コンテンツ サイズ。

参考:Apple UIViewController

于 2014-08-20T07:34:09.857 に答える