2

我目前有一个在 PresentationStyle.PageSheet 中以模态方式呈现 VC 的 segue。我以编程方式和仅使用情节提要完成了此操作。这两种方法我得到了相同的结果,模态弹出显示本身,但不显示来自 VC 的 UIView 内的任何内容。它只会显示视图的背景颜色,仅此而已。我还想指出,如果我执行默认模态 segue(全屏)但页面表演示样式或使用 UIPopoverController 失败,则会显示所有内容。以下是一些屏幕截图,显示了我在说什么。

这是故事板中的样子: 故事板

这是它在模拟器和实际 ipad 上的样子: 在此处输入图像描述

这是我的编码方法的样子:

@IBAction func addPickUp(){
    var addPickupVC = self.storyboard?.instantiateViewControllerWithIdentifier("pickup") as AddPickupViewController
    addPickupVC.modalPresentationStyle = UIModalPresentationStyle.PageSheet
    self.presentViewController(addPickupVC, animated: true, completion: nil)
}

这是为 ipad ios8 快速编写的。我在这里想念什么?任何建设性的反馈表示赞赏!

编辑:这是要以模态方式呈现的 VC 的文档大纲。 大纲

4

2 回答 2

3

您呈现弹出框的代码是正确的。
可能 AutoLayout 约束存在问题。
如您所见,您的弹出框已显示,但标签丢失。

  1. 删除您的 AutoLayout(它们将自动生成)并查看标签现在是否可见
  2. 尝试添加新标签。拖放它,不要指定任何约束
  3. 调试视图

    • 单击调试面板上的“调试视图层次结构”按钮

      在此处输入图像描述

    • 现在你可以看到你的观点爽朗了。选择您的标签(如果存在)并查看其限制条件。

      在此处输入图像描述

  4. 检查您的 AutoLayout 约束和标签是否存在于正确的尺寸类
    中 尺寸类显示在 UI 设计器下方。就我而言,它是(任何任何)。
    这意味着它适用于所有尺寸和所有设备。
    还要检查您的约束是否在运行时被移除。
    您可以在右侧的检查器上看到它。

    在此处输入图像描述

于 2014-11-14T09:48:12.713 回答
0

在情节提要中,您可以简单地控制将连接从按钮拖动到呈现的 Viewcontroller。没有理由为此设置@IBAction。如果您使用 InterfaceBuilder 方法,您可以选择将 segue 上的表示样式设置为 PageSheet。

于 2014-11-06T17:25:57.497 回答