我对小部件有这个恼人的问题,它会在横向模式下修剪我的视图内容。我已经静态地放置了内容大小,但它不起作用。Apple 是否将小部件限制为横向具有特定高度?苹果的界面指南说不推荐,但可行吗?
编辑:
我对小部件有这个恼人的问题,它会在横向模式下修剪我的视图内容。我已经静态地放置了内容大小,但它不起作用。Apple 是否将小部件限制为横向具有特定高度?苹果的界面指南说不推荐,但可行吗?
编辑:
iOS 上的今日小部件有高度限制。最大高度为(屏幕尺寸)-(通知中心 UI 高度)。通知中心绘制其 UI 后剩下的任何东西都留给小部件。横向和纵向会有所不同。
不幸的是,这个限制没有记录,也没有任何方法可以在运行时查找它。如果你要求更大的尺寸,你会得到比你要求的要少的东西,但没有办法问限制是多少。[如果 Apple 的任何人读到此内容,请参阅 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
}
}