2

現在、iOS 7 & iOS 8 でサポートされているユニバーサル アプリ (iPhone / iPad) に取り組んでいます。

サイズクラスに関する私の問題は次のとおりです。

  1. 私のナビゲーション バーは、XiB ファイル (NavBarView.xib) に定義されています。

  2. このファイル内には、iPhone モードでのみ表示する UIButton と、iPad モードでのみ表示する UISearchBar があります。

  3. ラインコードなしでそれを処理するために、iOS 8 以降のビューで使用できる新しい機能「サイズクラスを使用」を使用しました。XiB ファイル内でこれら 2 つの要素の「サイズクラス」を定義しました。

    • UISearch for Ipad : Compact Width / Any Height (wC hAny) を除くすべてのレイアウトにインストール

    • UIButton for Iphone : すべてのレイアウトにインストールされているわけではありませんが、コンパクトな幅/任意の高さ (wC hAny)

このメカニズムは、iPhone と iPad の iOS 8 ではうまく機能しますが、iOS 7 では機能しません。ただし、これらのサイズ クラスをストーリーボードに含まれるビューに直接適用すると、iOS 7 で機能します。

サイズクラスが iOS 7 の XiB ファイルに定義されているときに、サイズクラスが機能しない理由を誰かに説明してもらえますか?

よろしくお願いいたします。

ロレンツォ。

4

3 に答える 3

1

iOS 7 では、サイズ クラスに関係することはほとんどサポートされていません。良い答えがいくつかあります。

于 2014-10-07T19:07:32.907 に答える
0

元の質問に対するsaadnibのコメントが私を大いに助けたので、答えとして追加します。

後方互換性のない XIB ファイルのサイズ クラスは、xCode 6.1.1 で修正されたバグです。奇妙なことに、パッチ ノートには記載されていませんが、単一の xib を使用して、iPad と iPhone のセルに 2 つの異なるレイアウトを提供していることを確認できます。これは、6.0.1 から 6.1.1 に更新して初めて機能し始めました。

ストーリーボード上のクラスの下位互換性に関する制限は引き続き適用されますが、回避できます。

于 2015-01-13T16:51:17.817 に答える