1

私は現在、古いスタイルの今日の拡張機能と iOS 10 の新しいスタイルのウィジェットと互換性のある今日の拡張機能を作成しようとしています。

私はストーリーボードを使用していないので、View Controller クラスでウィジェットのビューの高さと幅を作成して設定する必要があります。これは iOS 10 では問題ありません。widgetMaximumSizeForDisplayMode を使用して、任意のデバイスでウィジェットの幅と高さを取得できます。

ただし、widgetMaximumSizeForDisplayMode は iOS 10 以降でのみ使用できるため、iOS 8/9 でこれを行う方法を理解するのに苦労しています。今日の拡張幅は、以下のように単にデバイスの幅である場合があります。

iPhone 6 の今日の表示

ただし、iPad などの他のデバイスの場合、ウィジェットの幅は画面上の特定の幅にすぎません。

iPad Air の今日の表示

iOS 8 / 9 で今日の拡張幅を取得する組み込みの方法はありますか?

4

2 に答える 2

2

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)今日の拡張機能のView Controllerのメソッドを試しましたか?

これは 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 に答える