4

Xcode beta 6 を使用して、iOS8 の Today 拡張ウィジェットに取り組んでいます。

ウィジェットのフレームをsetPreferredContentSize:inで設定しviewWillAppear: ました。横向きの iPhone を除くすべての iOS デバイスでうまく機能します。

ランドスケープ モードの iPhone では、ウィジェットの高さが 166px (Retina iPhone では 332px) を超えません。そして、私はそれを約300pxに設定しようとしています。

Apple がApp Extension Programming Guideで言及しているように、背の高いウィジェットが悪いかもしれないことは理解していますが、多くのスケジュールがある場合、カレンダー アプリが非常に高くなることがあります。

私は iOS8 iPhone を持っていないので、シミュレーターでのみテストしました。シミュレーターのバグですか?

アドバイスをいただければ幸いです。

4

1 に答える 1

3

NC ウィジェットの最大高さは、Apple によって文書化されていません。

ただし、私の経験では、最大の高さは厳密には画面の高さから上下のコントロールを引いたものです。

これにより、iPad や iPhone 6 plus にうまく収まるウィジェットが、横長の iPhone には収まらないという望ましくない結果が生じます。

これは、デバイスだけでなく iOS シミュレーター (iOS 8.1.2 以降) にも当てはまります。

私が書いているアプリでは、NC ウィジェットの preferredContentSize.height は常に 210 pt です。ただし、iPhone 5 の横向きでは、ウィジェットの高さは 205.5 pt に制限されます。そのため、UI 要素はより密集しています。

UITableViews を固定行数で表示するいくつかの NC ウィジェットを見てきました。これは、iPad または縦向きの iPhone では問題なく動作しますが、横向きの iPhone ではクリップされます。

このような場合、preferredContentSize を必要な高さに楽観的に設定してから、ウィジェットのビューの境界を確認することができます。高さが推奨高さよりも小さい場合は、表示するコンテンツの量を減らすことが望ましい場合があります。

于 2014-12-10T15:38:43.130 に答える