Сегодня виджет в iOS 10 не расширяется
Я пытаюсь решить проблему с моим сегодняшним виджетом. Это не расширяется на 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 ответ
Решение
Предполагая, что вы кодируете с помощью Swift 3, обратите внимание, что подпись метода widgetActiveDisplayModeDidChange:
необязательный 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
}
}
Чтобы дважды проверить, что это проблема, вы можете добавить точку останова к вашему текущему методу и проверить, достижима ли она или нет.