【发布时间】:2016-10-19 13:43:50
【问题描述】:
我下载了 Xcode 8 测试版并尝试使用 iMessages 应用程序扩展 sdk,但遇到了看起来不标准的导航栏高度问题
当我过渡到应用程序的展开视图时,我的带有以下帧 CGRect(x: 0, y: 0, width: 100, height: 100) 的图像最终部分隐藏在导航栏后面。我希望它出现在导航栏下方。
我尝试了self.navigationController?.navigationBar.isTranslucent = false,但它不起作用,我想这是有道理的,因为它超出了我的应用程序的控制范围。
【问题讨论】:
-
是否可以在视图中添加约束?如果可能,请尝试从上边距添加 -86.0 的垂直空间约束。
-
我希望避免使用常量来解决这个问题。我更喜欢写一些东西,比如相对于导航栏高度以编程方式计算。
-
我已经用一个迷你演示更新了我的答案,说明如何让您使用处理自动调整大小的约束。
-
大声笑,您提供了我特别说过要避免的两种方法。但是感谢您的指点,我会添加一些约束并让您知道
-
如果您不添加约束,将很难自动处理不同设备的大小调整以及每种屏幕尺寸的紧凑和扩展模式。您的代码将很快变得庞大!最好不要对值进行硬编码,而是让 Apple 使用自动布局为您处理调整大小。你可以阅读更多关于自适应用户界面here!
标签: swift navbar ios-app-extension imessage ios10