I'm trying to solve an issue with my today widget. It's not expanding on iOS10 after pressing "Show more" button. It's size keeps the same all the time.
Here is the code for 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
}
}
}
Any hints please?
Assuming that you are coding using Swift 3 (or later), please note that
widgetActiveDisplayModeDidChange
method signature is:
optional func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize)
So, it should be:
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if activeDisplayMode == .expanded {
preferredContentSize = CGSize(width: 0, height: 280)
} else {
preferredContentSize = maxSize
}
}
You could also add a breakpoint to your current method and check whether it's reachable or not.