0

我对小部件有这个恼人的问题,它会在横向模式下修剪我的视图内容。我已经静态地放置了内容大小,但它不起作用。Apple 是否将小部件限制为横向具有特定高度?苹果的界面指南说不推荐,但可行吗?

编辑: 在此处输入图像描述

4

2 回答 2

1

iOS 上的今日小部件有高度限制。最大高度为(屏幕尺寸)-(通知中心 UI 高度)。通知中心绘制其 UI 后剩下的任何东西都留给小部件。横向和纵向会有所不同。

不幸的是,这个限制没有记录,也没有任何方法可以在运行时查找它。如果你要求更大的尺寸,你会得到比你要求的要少的东西,但没有办法问限制是多少。[如果 Apple 的任何人读到此内容,请参阅 rdar://18408718,“今天的扩展没有记录,很难发现大小限制” ]

在某些情况下,通知中心似乎施加了较低的高度限制。这对我来说似乎是一个错误,但现在没有办法解决它。

于 2015-02-05T17:18:18.423 回答
0

使用 Swift 3 和 IOS10:将此方法添加到您的小部件控制器,您将获得最大尺寸

@available(iOSApplicationExtension 10.0, *)
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize){
        if (activeDisplayMode == NCWidgetDisplayMode.compact) {
            self.preferredContentSize = maxSize;
            // hide or show what you want
            messageLabel.isHidden = false
            textLabel.isHidden = true
        }
        else {

            self.preferredContentSize = CGSize(width: 0, height: (maxSize.height - 100) // personnaly I remove 100 to make it easier fo the user to see all the widget

            messageLabel.isHidden = true
            textLabel.isHidden = false
        }
}
于 2016-09-23T21:00:46.397 回答