以横向模式发布在Widget中

我有这个令人讨厌的小部件问题,它在横向模式下修剪我的视图的内容。 我已经把内容大小静态,但它不工作。 苹果是否限制小部件在景观中具有特定的高度? 苹果的界面指导方针表示不推荐,但是可行吗?

编辑: 在这里输入图像说明

iOS上今天的小部件有一个高度限制。 最大高度是(屏幕尺寸) – (通知中心UI高度)。 通知中心绘制其用户界面后剩下的部分留给小部件。 这在横向上会比在纵向上有所不同。

不幸的是,这个限制没有logging,也没有办法在运行时查看它。 如果你要求更大的尺寸,你会得到比你要求的更less的东西,但是没有办法去问什么是限制。 [如果有人从苹果公司读到这个,请参阅rdar:// 18408718, “今天的扩展没有文档,很难发现大小限制” ]

在某些情况下,通知中心似乎强加一个较低的身高限制。 这看起来像一个错误,但现在没有办法。

使用Swift 3和IOS10:将此方法添加到您的窗口小部件控制器,您将获得最大尺寸

@available(iOSApplicationExtension 10.0, *) func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize){ if (activeDisplayMode == NCWidgetDisplayMode.compact) { self.preferredContentSize = maxSize; // hide or show what you want messageLabel.isHidden = false textLabel.isHidden = true } else { self.preferredContentSize = CGSize(width: 0, height: (maxSize.height - 100) // personnaly I remove 100 to make it easier fo the user to see all the widget messageLabel.isHidden = true textLabel.isHidden = false } }