gpt4 book ai didi

ios - 将 iOS 9 今天的扩展程序转换为 iOS 10 的大小问题

转载 作者:可可西里 更新时间:2023-10-31 23:57:51 26 4
gpt4 key购买 nike

晚上好!

我在理解今天的扩展时遇到了很大的问题。我已经阅读了很多教程和介绍,但没有任何帮助我理解问题。在 iOS 9 上扩展工作正常 - 在 iOS 10 上不行。

我的大问题是 iOS 10 中小部件的自动调整大小(?)。在 iOS 9 上,小部件以完美的纵向和横向显示我的表格 View - iOS 10 崩溃了该组织并破坏了 View 。关于 StackOverflow 的问题只有这样的答案:https://stackoverflow.com/a/38009125

但我不会显示带有“更多”/“更少”的按钮。我的扩展应该只在特定高度显示我的 tableView,不能多也不能少。

今天我用来测试的扩展(如果它有效,我将构建一个带有 TableView 的类似扩展)是:https://github.com/maximbilan/iOS-Today-Extension-Simple-Tutorial (这不是我的代码 - 我对发布者的工作很满意!)

这里有两张问题图片(1. iOS 9, 2. iOS 10):

iOS 9: work

iOS 10: bug

我不明白这是什么问题。我使用 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 上今天的小部件的资料。

谢谢!

最佳答案

是的,我有同样的问题。我用 widgetActiveDisplayModeDidChange 解决了它,我在 viewDidLoad 中调用它
swift 3

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
self.preferredContentSize = (activeDisplayMode == .expanded) ? CGSize(width: 500, height: 230) : CGSize(width: maxSize.width, height: 110)
}

override func viewDidLoad() {
super.viewDidLoad()

self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded

widgetActiveDisplayModeDidChange(.compact, withMaximumSize: CGSize(width: 500, height: 230))

}

enter image description here enter image description here

关于ios - 将 iOS 9 今天的扩展程序转换为 iOS 10 的大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39936934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com