【问题标题】:How do I change the height of an iOS extension?如何更改 iOS 扩展的高度?
【发布时间】:2016-10-26 12:46:21
【问题描述】:

如何在紧凑模式下更改 iOS 10 扩展的高度?或者更广泛地说,如何在不使用widgetActiveDisplayModeDidChange 的情况下更改扩展的高度?

【问题讨论】:

  • 为了清晰易读而重新措辞。

标签: objective-c swift ios10 ios-extensions


【解决方案1】:

我是这样使用的,也许这会对你的问题有所帮助:

override func viewDidLoad() {
        super.viewDidLoad()

        self.preferredContentSize = CGSize(width:self.view.frame.size.width, height:210)

        if #available(iOSApplicationExtension 10.0, *) {
            self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
        }
    }

我喜欢210的高度,当然你可以使用任何高度...

更新:

如果你想使用固定尺寸,你可以使用 NCWidgetDisplayMode 的第二个选项“compact”:

@available(iOS 10.0, *)
public enum NCWidgetDisplayMode : Int {


    case compact // Fixed height

    case expanded // Variable height
}

你可以像下面这样更新你的代码:

if #available(iOSApplicationExtension 10.0, *) {
    self.extensionContext?.widgetLargestAvailableDisplayMode = .compact
}

【讨论】:

  • 这可行,但我想在不使用 showmore/showless 的情况下更改小部件的高度
  • @NohaMohamed 请检查我更新的答案。希望对您有所帮助。
  • 成功了,谢谢。我可以隐藏 showmore 按钮并更改高度吗?
  • 你可以使用 widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode 和MaximumSize:(CGSize)maxSize 来改变高度,因为compact会为你的扩展设置一个默认的(非常小的)尺寸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多