【问题标题】:Xcode: Creating A Popup UIViewControllerXcode:创建弹出 UIViewController
【发布时间】:2011-10-20 04:54:53
【问题描述】:

我想创建一个 UIVewController 并让它弹出类似于此图像中显示的内容:http://i.stack.imgur.com/WzMKk.png

当用户在弹出窗口外点击时,窗口(视图控制器)消失。 谁能提供一些示例代码,就 .h 文件和 .m 文件中的内容而言,以及我可能需要在界面构建器中执行的任何额外步骤?

【问题讨论】:

    标签: objective-c cocoa-touch


    【解决方案1】:

    【讨论】:

    • 从我查看过的关于 UIPopoverController 的每个教程来看,似乎与我提供的图像中显示的内容不同。在图像中,它们没有指向某个对象的箭头,它只是一个弹出视图/视图控制器。你确定这是他们使用的图片所示的吗?
    • 用这个来显示没有箭头的弹出框(箭头方向0表示没有箭头)[self.popoverController presentPopoverFromBarButtonItem:anItem permittedArrowDirections:0 animated:YES];
    【解决方案2】:

    它只是一个 UIViewController 模态呈现,弹出窗口的视图控制器 modalPresentationStyle 设置为 UIModalPresentationFormSheet

    MyPopupViewController *popup = ...
    popup.modalPresentationStyle = UIModalPresentationFormSheet;
    [self presentModalViewController:popup animated:YES];
    

    来自有关UIModalPresentationFormSheet 演示风格的文档...

    呈现的视图的宽度和高度小于 屏幕和视图以屏幕为中心。如果设备在 横向和键盘是可见的,位置 视图向上调整,使视图保持可见。全部 未覆盖的区域会变暗,以防止用户与之交互 他们。

    您需要检测对深色区域的触摸,以允许以这种方式关闭表单。 This answer 有一些实现的细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多