在iOS 10中,当3D触摸您的应用程序时,应用程序的小部件与3D触摸快捷方式一起显示.该小部件自动成为应用程序小部件的小版本;有没有办法让这个小部件成为小部件的大版本(通常通过按小部件屏幕上的显示更多来查看)?
解决方法
3D Touch小部件高度是系统级限制. (您会注意到,即使Apple也没有为第一方应用覆盖它.)
这是因为快速操作菜单本身可以变得非常高,而小部件的高度实际上是无限的.并且因为与“快速操作”菜单交互的一种可能方法是从您按下的位置向上/向下滑动手指,所以滚动显然是不可能的.
至于如何通过完全摆脱小部件来解决这个问题,似乎iTunes Connect检查UIApplicationShortcutWidget键的值以确保给定的包标识符实际存在并拒绝该应用程序(如果不存在). UIApplicationShortcutWidget键正式为defined,因此,如果应用程序有多个小部件,它可以选择在3D Touch上下文中显示哪些小部件.
直到Apple推翻这一政策 – 我不会屏住呼吸,因为这是一个边缘案例 – 你唯一的解决方法是拥有可忽略的小部件,或者完全重新考虑小部件体验.
就个人而言,我建议完全重新考虑小部件,因为Apple建议小部件不仅仅是你建议的“启动按钮”,即使是在小尺寸的情况下.根据Human Interface Guidelines,小部件将用于“可浏览”信息或应用程序外的简单交互.是否有其他有用的信息/功能可以放在前110点代替启动按钮?
此外,当然,您可以随时将file a bug作为增强功能,看看Apple是否愿意接受这个想法.我怀疑它会涉及添加一个单独的Info.plist键,可能是一个布尔告诉iOS是否在该上下文中需要一个小部件.