iOS Today Widget显示更紧凑的模式

时间:2016-11-21 10:22:45

标签: ios xamarin xamarin.ios ios10 today-extension

我试图显示今天的小部件,显示更多的按钮,但在iOS 10中我只找到信息显示按钮显示更多/更少如果我将NCWidgetDisplayMode放到扩大。但是,今天的小部件展开了扩展,我希望它第一次压缩。

如果我将NCWidgetDisplayMode放入Compact,那么Show more按钮就会消失!

我有一些应用程序可以按照我的意愿设置窗口小部件的行为:第一次设置窗口小部件时,它以紧凑模式显示,并使用按钮显示更多内容。 / p>

如何归档此结果?我没有喜欢解释如何做到这一点。

1 个答案:

答案 0 :(得分:3)

您需要在widgetLargestAvailableDisplayMode中设置viewDidLoad

   override func viewDidLoad()
    {
        super.viewDidLoad()
        self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
    }

现在实现NCWidgetProviding协议委托方法:

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize)
{
    if activeDisplayMode == .expanded
    {
        preferredContentSize = CGSize(width: 0.0, height: 200.0) //Size of the widget you want to show in expanded mode
    }
    else
    {
        preferredContentSize = maxSize
    }
}

有关小工具如何在 iOS8 / iOS9 / iOS10 中工作的详情,请参阅:https://github.com/pgpt10/Today-Widget