iOS 10 Today Extension 不会进入扩展模式,保持紧凑
iOS 10 Today Extension not going into Expanded mode, stays in compact
我正在编写 Today Extension,它在我的 iOS 9 设备上运行正常。
在 iOS 10,我读过很多帖子说我们需要为扩展设置扩展模式以扩展到超过 110 高度,但是当我遵循所有关于如何做的答案时这一点,我的小部件一直处于紧凑模式。
这就是我正在使用的
@available(iOS 10.0, *)
@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if activeDisplayMode == .expanded {
self.preferredContentSize = CGSize(width: maxSize.width, height: 400)
} else if activeDisplayMode == .compact {
self.preferredContentSize = CGSize(width: maxSize.width, height: 110)
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 10.0, *) {
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
}
}
我将值设置为扩展,然后它进入协议,在那里,它进入紧凑的 else 语句,而不是扩展。
我试过在 viewDidAppear 和 viewWillAppear 中设置模式。
我的代码中没有其他地方设置 preferedContentSize
那里有十几个答案说这应该行得通,我这辈子都不知道自己做错了什么?
我还需要做些什么吗?
这是已接受答案的示例 -
更新:我刚看到 "Show More" 按钮...也许我误解了事情,是否可以扩展这个开始?我是否被迫按下“显示更多”按钮?这或许可以解释为什么它不起作用?
当您实施 widgetActiveDisplayModeDidChange
时,您正在做的是允许 用户 展开小部件。显示更多文本出现在右上角,用户可以点击它切换到扩展模式。 Apple 的天气应用程序小部件就是一个标准示例。
我正在编写 Today Extension,它在我的 iOS 9 设备上运行正常。
在 iOS 10,我读过很多帖子说我们需要为扩展设置扩展模式以扩展到超过 110 高度,但是当我遵循所有关于如何做的答案时这一点,我的小部件一直处于紧凑模式。
这就是我正在使用的
@available(iOS 10.0, *)
@available(iOSApplicationExtension 10.0, *)
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if activeDisplayMode == .expanded {
self.preferredContentSize = CGSize(width: maxSize.width, height: 400)
} else if activeDisplayMode == .compact {
self.preferredContentSize = CGSize(width: maxSize.width, height: 110)
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 10.0, *) {
self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
}
}
我将值设置为扩展,然后它进入协议,在那里,它进入紧凑的 else 语句,而不是扩展。
我试过在 viewDidAppear 和 viewWillAppear 中设置模式。
我的代码中没有其他地方设置 preferedContentSize
那里有十几个答案说这应该行得通,我这辈子都不知道自己做错了什么?
我还需要做些什么吗?
这是已接受答案的示例 -
更新:我刚看到 "Show More" 按钮...也许我误解了事情,是否可以扩展这个开始?我是否被迫按下“显示更多”按钮?这或许可以解释为什么它不起作用?
当您实施 widgetActiveDisplayModeDidChange
时,您正在做的是允许 用户 展开小部件。显示更多文本出现在右上角,用户可以点击它切换到扩展模式。 Apple 的天气应用程序小部件就是一个标准示例。