晚上好!
我在理解今天的扩展时遇到了很大的问题。我读过很多教程和介绍,但没有任何帮助我理解这个问题。在 iOS 9 上,该扩展可以正常工作 - 在 iOS 10 上则不行。
我的大问题是 iOS 10 中小部件的自动调整大小(?)。在 iOS 9 上,小部件以纵向和横向完美显示我的表格视图 - iOS 10 使该组织崩溃并破坏了视图。 StackOverflow 上的问题只有这样的答案:https://stackoverflow.com/a/38009125 https://stackoverflow.com/a/38009125
但我不会显示带有“更多”/“更少”的按钮。我的扩展应该只以特定高度显示我的 tableView,而不是更多,也不是更少。
我用来测试的今天扩展(如果有效的话,我将使用表视图构建类似的扩展)是:https://github.com/maximbilan/iOS-Today-Extension-Simple-Tutorial https://github.com/maximbilan/iOS-Today-Extension-Simple-Tutorial(这不是我的代码 - 我对发布者的工作感到高兴!)
这是问题的两张图片(1. iOS 9,2. iOS 10):
我不明白有什么问题。我设置高度self.preferredContentSize.height = 200
但 iOS 10 不像 iOS 9 那样使用这个高度。上面的 StackOverflow 答案不是一个解决方案,因为我不会使用更多/更少按钮。尽管我使用更多/更少按钮的代码,但问题仍然存在于紧凑的尺寸中:
// ViewDidLoad
if #available(iOSApplicationExtension 10.0, *) {
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
} else {
self.preferredContentSize.height = 200
}
// method in File
@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayMode.compact) {
self.preferredContentSize = maxSize
}
else {
self.preferredContentSize = CGSize(width: maxSize.width, height: 200)
}
}
正如我上面所说 - 仅当小部件被按下为“显示更多”时,此代码才起作用...如果未按下按钮并且小部件尺寸紧凑,则它看起来像上图一样。
我希望任何人都可以帮助我,因为这是我长期以来遇到的问题,而且我没有找到足够的关于 iOS 10 上今天的小部件的材料。
Thanks!