【问题标题】:iOS Today Widget show more compact modeiOS Today Widget 显示更紧凑的模式
【发布时间】:2016-11-21 10:22:44
【问题描述】:

我正在尝试使用“显示更多”按钮显示今日小部件,但在 iOS 10 中,如果我将 NCWidgetDisplayMode 设置为“展开”,我只能找到显示更多/更少按钮的信息。但是,今天的小部件显示展开,我希望它是第一次压缩。

如果我将 NCWidgetDisplayMode 放入 Compact,那么“显示更多”按钮就会消失!

我有一些应用程序,它的小部件的行为是我想要的:第一次设置小部件时,它以紧凑模式显示,并带有显示更多按钮。

如何归档此结果?我不喜欢任何解释如何做的东西。

【问题讨论】:

  • 电话:requestPresentationStyle(.compact)
  • 嗨@shallowThought,你知道我如何在 xamarin iOS 中调用 requestPresentationStyle 吗?我没有在 xamarin 或 Google 中找到此属性。
  • 不知道 Xamarin。 requestPresentationStyle() 是一个方法,没有属性。
  • 感谢@shallowThought 但要使用此方法,我必须从 MsMessagesAppViewController 而不是 UIViewController 继承,然后小部件停止工作。我将不得不寻找另一种解决方案。

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


【解决方案1】:

你需要在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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2014-11-13
    • 1970-01-01
    • 2011-02-12
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多