iOS Today Widget 显示更紧凑的模式
iOS Today Widget show more compact mode
我试图显示今天的小部件,带有显示更多的按钮,但是在 iOS 10 中,我只找到了显示按钮的信息 More/less 如果我把NCWidgetDisplayMode
展开。但是,今天的小部件显示展开,我希望它是第一次压缩。
如果我将 NCWidgetDisplayMode
设置为“紧凑”,“显示更多”按钮就会消失!
我有一些应用程序的小部件行为是我想要的:第一次设置小部件时,它以紧凑模式显示,并带有显示更多按钮。
如何存档此结果?我不喜欢任何解释如何做的东西。
您需要在viewDidLoad
中设置widgetLargestAvailableDisplayMode
。
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
我试图显示今天的小部件,带有显示更多的按钮,但是在 iOS 10 中,我只找到了显示按钮的信息 More/less 如果我把NCWidgetDisplayMode
展开。但是,今天的小部件显示展开,我希望它是第一次压缩。
如果我将 NCWidgetDisplayMode
设置为“紧凑”,“显示更多”按钮就会消失!
我有一些应用程序的小部件行为是我想要的:第一次设置小部件时,它以紧凑模式显示,并带有显示更多按钮。
如何存档此结果?我不喜欢任何解释如何做的东西。
您需要在viewDidLoad
中设置widgetLargestAvailableDisplayMode
。
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