将 iOS 9 Today 扩展转换为 iOS 10 的尺寸问题

2024-04-11

晚上好!

我在理解今天的扩展时遇到了很大的问题。我读过很多教程和介绍,但没有任何帮助我理解这个问题。在 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!


是的,我有同样的问题。我用 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))

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 iOS 9 Today 扩展转换为 iOS 10 的尺寸问题 的相关文章

随机推荐

  • R 是否有相当于 bash 命令 more 的命令?

    如果我想查看 R 中的长输出或变量 是否有与 bash 命令 more 等效的命令 为什么不使用内置的file show more lt function x file lt tempfile sink file on exit sink
  • Azure 容器注册表中的锁是什么

    在 Azure 门户的 Azure 容器注册表边栏选项卡中 左侧有一个 锁定 部分 但我在目录中的任何位置都找不到它 ACR 文档 https learn microsoft com en us azure container regist
  • 获取Streamreader的长度

    我怎样才能得到a的长度StreamReader 据我所知 不会再向其中写入任何内容 我想也许我可以将所有数据传递给MemoryStream 它有一个名为Length 但我陷入了如何将 byte 附加到 a 的问题上MemoryStream
  • 具有多个控件和 generic.xaml 的自定义控件库

    如果我在一个自定义控件库中为两个不同的控件定义两种默认样式 我会收到错误 一个库中是否可以有两个或多个具有默认 generic xaml 的控件 Thanks 对的 这是可能的 推荐的方法是将每个控件的样式放置在其自己的资源字典中 并拥有一
  • 返回用于在 using C# 中使用的变量

    我返回在 using 语句内的 using 语句中创建的变量 听起来很有趣 public DataTable foo using DataTable properties new DataTable do something return
  • 如何在 MVC3 中使用 ViewBag 更改或刷新数据

    我想使用 ViewBag 刷新视图中的数据 是否有可能或者我可以使用其他技术 这是我的示例代码 在我的视图页面中 家庭详情 ViewBag Details 0 Name 在我的控制器中 public ActionResult FamilyD
  • 使用命名范围依赖于下拉列表值的文本框值的 Excel VBA 代码

    我拥有的 我有一个 Excel VBA 自定义用户表单 该表单包含一个下拉列表 行业类别 和文本框 对应行业规范者 对于每个行业类别有一个行业规范者 该类别的缩写版本 The 行业类别 and 行业规范者将始终位于同一行 下拉列表由单元格名
  • iPhone - 如何在按下按钮时制作动画?

    有没有办法在点击 iPhone 按钮时制作自定义动画 我想要类似 App Store 按钮的东西 它会显示价格 然后当您单击它时 它会改变颜色并且文本会更改为 立即购买 然后当您再次单击它时 它会完成购买 UIViewAnimationTr
  • 如何从 java 类(在 Lucee 中)中的方法返回 Coldfusion 结构?

    我正在编写一个java类 并且想从方法返回一个coldfusion结构 结构扩展了映射和其他东西 我不是 Java 程序员 所以我不知道如何解决这个问题 这是 lucee java 文档 http javadoc lucee org 当我尝
  • 如何使用Java将生成的PDF文件保存到MySQL数据库?

    我有一个 Java 类 它使用以下命令生成 PDF 文件iText https itextpdf com en图书馆 现在根据我的需要 我必须将生成的 PDF 文件保存到 MySQL 数据库表中 但我不知道该怎么做 我的担忧是 what d
  • Flutter 中的 Widgets 库错误捕获异常

    我在 Flutter 中有这个应用程序 它有两个类来生成笔记列表 这是主类 MyApp 类 import package flutter cupertino dart import package flutter material dart
  • 使用 jQuery.load('url.html') 确定插入图像后何时加载图像

    我目前有与此类似的东西 它在目标页面上加载一个包含图像的 div a galleryNext click function chnage the image to loading info html LOADING currentGal l
  • SQL Server dbo.sysdiagrams 是用户表或系统表

    当在简单数据库中使用数据库图时 SQL Server 在以下位置创建一个 dbo sysdiagrams 表 Table Systam Tables节点 在 Microsoft Management Studio Object Explor
  • 使用自定义颜色代码设置面板背景

    在 WPF 中 我可以使用以下代码设置堆栈面板的背景 stackPanelFlasher Background Brushes Aqua 例如 如何将颜色设置为十六进制颜色代码 C7DFFC BrushConverter bc new Br
  • 延迟加载插件 (jQuery)

    a lightbox hover function if jQuery lightbox required otherwise lightbox js will be loaded on hover each time a lightbox
  • 我的 CryptoJS 加密/解密不起作用

    我有一个 JSON 数组数组 我尝试使用 CryptoJS 对其值进行加密 然后打印以在另一个文件中使用 其中这些值应使用用户给定的密码进行解密 但我做错了什么 在解密 URL 时收到 未捕获错误 格式错误的 UTF 8 数据 加密 js
  • 将时间列拆分为开始时间/结束时间列

    我有一张表格 其中包含有关他们全天所做工作的信息 我需要获取每个任务的开始时间 结束时间 目前 我能够提取每个任务的时间戳 但我希望创建 开始时间 和 结束时间 列 开始时间是前一行的时间戳 结束时间是当前行的时间戳 有什么简单的方法可以做
  • iOS - WebView 和字符串

    我有一个名为 htmlString 的字符串 其中包含一些 html 格式的信息 我需要将这些信息放入加载整个 html 字符串 包含颜色和字体 的 webView 中 我需要知道弦的高度 我能怎么做 你想做类似的事情 webView lo
  • 检查表达式树中的类型转换?

    我正在使用 Expression 创建一些动态生成的代码 我的解决方案有效 但有一个功能除外 我想要进行检查类型转换 如果转换失败 则会抛出 TypeCastException 我找到了 Expression TypeAs 它执行类型转换
  • 将 iOS 9 Today 扩展转换为 iOS 10 的尺寸问题

    晚上好 我在理解今天的扩展时遇到了很大的问题 我读过很多教程和介绍 但没有任何帮助我理解这个问题 在 iOS 9 上 该扩展可以正常工作 在 iOS 10 上则不行 我的大问题是 iOS 10 中小部件的自动调整大小 在 iOS 9 上 小