【问题标题】:UIPopoverController does not appearUIPopoverController 没有出现
【发布时间】:2011-07-25 12:09:01
【问题描述】:

我想我已经花了 3 天时间尝试了各种人的在线解决方案以使弹出框出现并起作用,但实际上没有一个示例起作用。

但这是我当前的代码。有人能告诉我为什么我的弹出框没有出现吗?谢谢。

popper = [[Popper alloc] initWithNibName: @"Popper" bundle: nil];
navigationController = [[UINavigationController alloc] initWithRootViewController: popper];
[navigationController presentModalViewController: popper animated:YES];
[navigationController release];
[popper release];

注意事项:

  • 我的 Popper 类继承自 UIViewController。
  • 我已将 Xib 的课程设置为 IB 中的 Popper。
  • 我已将主视图控制器设置为使用 UIPopoverControllerDelegate。

【问题讨论】:

  • 不确定,但我通常为模态创建一个属性。这可能会阻止它正常运行。试试看。

标签: ipad uipopovercontroller


【解决方案1】:

那么您是否已将 navigationController 添加到您的视图中?

为什么不这样做:

[self presentModalViewController: popper animated:YES];

【讨论】:

  • 嗨,谢谢,尽管由于某种原因我的 Xib 的尺寸被忽略了,整个 768x1024 窗口在我的主视图顶部向上滑动。
【解决方案2】:

当您已经使用视图初始化导航控制器时,您需要做的就是将导航控制器添加到您的视图中。

[self.view addSubView: navigationController.view];

不要将其呈现为模态。

【讨论】:

    【解决方案3】:

    UIPopoverController 仅在 iPad 上可用,并且由于您已使用 iPhone 标记您的问题,我假设这很可能是问题所在。

    【讨论】:

    • 我实际上是在为 iPad 编写代码。哎呀。
    【解决方案4】:

    对于自定义弹出框,我推荐 WEPopover

    http://iosdevelopertips.com/open-source/ios-open-source-popover-api-for-iphone-wepopover.html

    只需将视图控制器附加到 wepopovercontroller 即可。

        WEPopoverController *popOver = [[WEPopoverController alloc] initWithContentViewController:saveViewController];
    
        [popOver presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
        [saveViewControlle release];
    

    【讨论】:

    • 如果您使用自定义弹出窗口,正如您所提到的,模型视图控制器会占据整个屏幕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多