如何在 iOS 8 / 9 中获取 today-extension 的宽度
How to get the width of a today-extension in iOS 8 / 9
我目前正在尝试创建一个与旧式今天扩展以及 iOS 10 中的新样式小部件兼容的今天扩展。
我没有使用故事板,所以我需要在视图控制器中创建和设置小部件视图的高度和宽度 class。这在 iOS 中很好 10 - widgetMaximumSizeForDisplayMode 可用于在任何设备上获取小部件的宽度和高度。
但是我正在努力弄清楚如何为 iOS 8 / 9 执行此操作,因为 widgetMaximumSizeForDisplayMode 仅从 iOS 10 起可用。有时今天的扩展宽度只是设备的宽度,如下所示:
iPhone 6 today view
但对于其他设备,如ipad,小部件的宽度在屏幕上只有一定的宽度。
iPad Air today view
是否有内置方法可以在 iOS 8 / 9 中获取今天的扩展宽度?
给定的宽度始终相同 device/orientation--you 无法设置。但是如果您需要阅读它以确定该宽度的高度,您可以检查 view.bounds.width
.
您是否尝试过在视图控制器中为今天的扩展使用 override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
方法?
iOS 8 及更高版本支持它,您也将获得新的旋转尺寸。
https://developer.apple.com/reference/uikit/uicontentcontainer/1621466-viewwilltransitiontosize
我目前正在尝试创建一个与旧式今天扩展以及 iOS 10 中的新样式小部件兼容的今天扩展。
我没有使用故事板,所以我需要在视图控制器中创建和设置小部件视图的高度和宽度 class。这在 iOS 中很好 10 - widgetMaximumSizeForDisplayMode 可用于在任何设备上获取小部件的宽度和高度。
但是我正在努力弄清楚如何为 iOS 8 / 9 执行此操作,因为 widgetMaximumSizeForDisplayMode 仅从 iOS 10 起可用。有时今天的扩展宽度只是设备的宽度,如下所示:
iPhone 6 today view
但对于其他设备,如ipad,小部件的宽度在屏幕上只有一定的宽度。
iPad Air today view
是否有内置方法可以在 iOS 8 / 9 中获取今天的扩展宽度?
给定的宽度始终相同 device/orientation--you 无法设置。但是如果您需要阅读它以确定该宽度的高度,您可以检查 view.bounds.width
.
您是否尝试过在视图控制器中为今天的扩展使用 override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
方法?
iOS 8 及更高版本支持它,您也将获得新的旋转尺寸。
https://developer.apple.com/reference/uikit/uicontentcontainer/1621466-viewwilltransitiontosize