Popover没有显示内容

时间:2014-12-29 10:37:26

标签: ios swift ios8 uipopovercontroller uipopover

我只是试图将ViewController显示为Popover,这只是一个大型iPad应用程序的一小部分,我试图显示内容但没有成功。

Testing with this simple scenario

The result is empty

最糟糕的是,如果我在一个空/新项目中创建相同的场景,它的工作原理!在Image1中显示的两个View控制器是全新的,我尝试在我的一个视图中添加一个简单的Popover动作后创建了那些我在App中使用的...这是无效的。我不止一次尝试过清理和构建项目......以防万一,但结果相同。它只是没有在这个特定项目中工作。

两个视图控制器还没有关联的类,我只是在单击按钮时尝试打开View2。

如果我在这种情况下遗漏了一些非常基本的内容,感谢您的评论。

(添加更多细节)

我在最后两张图片中看到了与限制不同的东西,现在我可以看到"某些东西",但它不尊重这些位置。

Testing with Different Restrictions Result in the simulator

2 个答案:

答案 0 :(得分:3)

您正在使用常规宽度和尺寸的尺寸等级。常规身高(wRegular hRegular)。

以任意大小设计您的弹出窗口视图控制器,它应该没问题。

(您也可以卸载该视图控制器中任何对象的大小类)

答案 1 :(得分:0)

您的约束存在一些问题。

  • Label应该有3个约束:left(Leading),right-to-the-text-field(Trailing)和top(Top Space):

Constraints of the label

不需要宽度和高度,因为它们是根据标签文本(“标签”)的固有内容大小自动设置的。 重要提示:当您添加约束时,请确保它们是绝对的,而不是与保证金相关(要了解阅读此博客文章iOS8 Layout Margins的差异)。

  • 文本字段应具有以下约束:宽度和距离顶部距离(顶部空间):

enter image description here

请注意,第二个(“前导空格”)与标签的“尾随空格”相同,而不是另外一个(约束总共为5个)。

您必须显式设置文本字段的宽度(在我的示例中为134),否则将设置内在内容大小(并且它接近0,因为文本字段最初为空)。从内在大小正确设置高度(根据字体高度计算,如果文本为空,也可以。)

注意

我的回答暗示了一些重要的Autolayout概念。我建议你研究Apple documentation以更好地理解它们。

希望这有帮助