1

我目前正在尝试创建一个与旧式 Today 扩展以及 iOS 10 中的新式小部件兼容的 Today 扩展。

我没有使用情节提要,因此我需要在视图控制器类中创建和设置小部件视图的高度和宽度。这在 iOS 10 中很好 - widgetMaximumSizeForDisplayMode 可用于在任何设备上获取小部件的宽度和高度。

但是,我正在努力弄清楚如何为 iOS 8 / 9 执行此操作,因为 widgetMaximumSizeForDisplayMode 仅从 iOS 10 开始可用。有时今天的扩展宽度只是设备的宽度,如下所示:

iPhone 6 今日视图

但是对于像 ipad 这样的其他设备,小部件的宽度只是屏幕上的某个宽度。

iPad Air 今日视图

是否有内置方法来获取 iOS 8 / 9 中的今日扩展宽度?

4

2 回答 2

2

您是否尝试过使用override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)视图控制器中的方法进行今天的扩展?

它受 iOS 8 及更高版本的支持,您也将获得新的旋转尺寸。

https://developer.apple.com/reference/uikit/uicontentcontainer/1621466-viewwilltransitiontosize

于 2016-11-24T12:13:05.623 回答
0

对于给定的设备/方向,宽度始终相同——您无法设置它。但是,如果您需要阅读它以确定该宽度的高度,您只需检查view.bounds.width.

于 2016-11-23T20:03:29.417 回答