通用应用程序的今日扩展

Posted

技术标签:

【中文标题】通用应用程序的今日扩展【英文标题】:Today Extension on Universal applications 【发布时间】:2014-09-04 08:59:58 【问题描述】:

如何为 Today Extension 创建一个在 iPad 和 iPhone 上都能正常运行的故事板?我可以使用尺寸等级吗?还有其他方法吗? 提前致谢

【问题讨论】:

您是否尝试过使用~ipad 等设备修饰符或尺寸等级? @rckoenes 我尝试使用大小类,但结果不是很好。也许我是新手,我错过了一些东西。修饰符是如何工作的? 使用设备修饰符,您可以创建故事板,例如用于 iPhone 的 MainInterface.storyboard 和用于 iPad 的 MainInterface~ipad.storyboard。我还没有测试过,但是对于普通接口,这是如何做到的。 @rckoenes 我现在试了一下,创建了另一个名为 MainInterface~ipad 的故事板,但它不起作用。 @DavidG.No.我在默认情节提要上工作,并使用自动布局约束使内容在两个设备上都不错 【参考方案1】:

解决方案是激活情节提要的尺寸类,然后将 View Controller 的 Simulated Size 更改为 Fixed。

您不需要创建多个故事板,只需激活大小类即可。我不知道为什么默认禁用它。

下一步会将您的视图更改为通用尺寸。

现在您必须通过自动布局来修复您的 UI 元素,使其具有通用性和适应性。

编辑:如果您在视图中有类似“全屏”表视图的东西,即小部件,请不要忘记为嵌套的“全屏”视图创建约束,否则它将在 iPad 上工作但重叠iPhone。

【讨论】:

以上是关于通用应用程序的今日扩展的主要内容,如果未能解决你的问题,请参考以下文章

今日扩展:与容器应用同步数据

无法从 iOS 中删除今日视图扩展

如何在 iOS 应用程序和今日视图扩展程序之间共享数据

今日扩展 Swift 3.0 中的 App Group

从小部件打开主机应用程序时未调用 AppDelegate 函数(今日扩展)

iOS 8 移除今日扩展