iOS 10 中的 Today 小部件无法扩展。

7

我正在尝试解决我的今日小组件问题。在iOS10上按下“显示更多”按钮后,它不会扩展。它的大小始终保持不变。

这是TodayViewController.swift的代码:

import UIKit
import NotificationCenter

class TodayViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        extensionContext?.widgetLargestAvailableDisplayMode = .expanded
    }
}

extension TodayViewController: NCWidgetProviding {

    func widgetActiveDisplayModeDidChange(activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
        if activeDisplayMode == .expanded {
            preferredContentSize = CGSize(width: 0, height: 280)
        } else {
            preferredContentSize = maxSize
        }
    }
}

有什么提示吗?
1个回答

12

假设正在使用 Swift 3 或更高版本进行编码,请注意:

widgetActiveDisplayModeDidChange 方法签名为:

optional func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize)

因此,应该是这样的:

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
    if activeDisplayMode == .expanded {
        preferredContentSize = CGSize(width: 0, height: 280)
    } else {
        preferredContentSize = maxSize
    }
}

你也可以在当前方法中添加一个断点,检查它是否可达。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接