問題タブ [size-classes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iPhone 6 Plus と他のすべての小さな画面との間の UITableViewCell / UICollectionViewCell メトリックの違い
現在、iPhone と iPod touch のすべての画面サイズ (iPad は除く) をサポートしている iOS アプリがありますが、縦向きのみです。アプリは iOS 7 以降をサポートしています。私のビジュアル デザイナーは、iPhone 6 Plus で表示するときに、特定UITableViewCell
のインスタンス内のいくつかのメトリックを増やすことを提案しました。UICollectionViewCell
たとえば、アイコンや連絡先の写真を表示する画像セルは、iPhone 6 Plus でのみ約 25% (ポイント単位で) 大きくなります。
apple.com でこの Adaptive Size Design の記事を読んだ後、iPhone 6 Plus は、縦向きの場合、小さい画面のデバイスとは異なるサイズ クラスを持たないことがわかりました。これは、画面の解像度を検出し、xib ではなくコードで iPhone 6 Plus 固有のメトリックを処理する必要があるということですか? または、まだ出会っていない xib でこれを処理する方法はありますか?
コードでは、iPhone 6 Plus 用にロードする別の xib を簡単に指定できますが、すべての画面サイズと倍率をサポートするには xib を 1 つだけにすることをお勧めします。このアプリは将来的に iPad をサポートする可能性がありますが、現時点ではサポートされていません。
ios - Xcode 6.1 Interface Builder で、デバイスの種類に応じて要素が表示されない
昨夜、Interface Builder でサイズ クラスを操作していました。新しい xib ファイルを作成し、「iPhone」と「iPad」というタイトルの 2 つのボタンを追加しました。その意図は、すべての iPhone デバイスで「iPhone」ボタンを表示し、すべての iPad デバイスで「iPad」ボタンを表示することでした。
すべてが順調で、すべてのデバイスで期待どおりの結果が表示されていました。
しかし、問題はiPad 2 (iOS 7.0.4) で、タイトルが「iPhone」のボタンが表示されていました。 正しい結果を示していた次のデバイスでテストしました。
デバイス:
1) iPhone 3、4、5。
2) iPad 2 (iOS 8.1.1)
そのために、次の手順に従いました。
1) xib で新しい View Controller ファイルを作成しました。
2) Interface Builder ペインを「wConpact hRegular」に変更しました。
3) 「iPhone」というタイトルのボタンを追加し、水平方向の中央と上から 150px に見えるように制約を付けました。
4) Interface Builder ペインを「wRegular hRegular」に変更しました。
5) タイトルが「iPad」のボタンを追加し、水平方向の中央と上から 150px に見えるように制約を付けました。
私は使っている:
クロスコード: 6.1
ベースの SDK: 8.1
展開ターゲット: 6.1
デバイス : ユニバーサル
自動レイアウトを使用:チェックあり
サイズクラスを使用:チェックあり
結果のスクリーンショット:
1位)iPhone5s
2位)iPad2(iOS8.1.1)
3位)iPad2(iOS7.0.4)
重要なのは、Storyboard を使用してデザインしても問題ないということです。 なぜこれが起こっているのかわかりませんか?不足しているプロパティや iOS のバグはありますか。
提案してください。前もって感謝します。
ios - 自動レイアウトは子ビューのサイズを変更します
- View ControllerにHeaderViewと言うビューがあります。
- 自動レイアウトを使用して HeaderView の高さを 85 に設定しました。
- スーパービューに関して、このビューの先頭と末尾のスペースなど、他の制約を与えました。
- x コードのプレビューではすべて問題なく表示され、x コードにエラーはありません。
- iPhone6 でアプリケーションを実行すると、HeaderView のサイズがほぼ 200 に変わります。
誰もこれに遭遇したことがありますか?自動レイアウトで何が問題になっていますか?
編集:
ios - iOS 8 のユニバーサル アプリの iPad アセット
iPhone 6 plus を完全にサポートするアプリがあります。ユニバーサル アプリに変換したところ、iPad がすべてのアセットを最高解像度でキャッチできることがわかりました。@3x バージョンまたは @2x バージョンを使用しているかどうかはわかりません。@2x~ipad アセットを配置する要件が冗長なのか、iOS 7 を実行している iPad でアプリを実行すると問題が発生するのか疑問に思っています。参考までに、サイズ クラスとストーリーボードを使用します。
ios - サイズ クラスに基づく制約の乗数の変更
現在のサイズ クラスに応じて、制約に異なる乗数を与えることは可能ですか?
レギュラーサイズのクラス幅は画面サイズの半分、コンパクトサイズのクラス幅は画面サイズの80%にしたいという意見があります。ストーリーボードでは、さまざまなサイズ クラスのさまざまな変数を制約定数値に追加するオプションがありますが、それは乗数値ではありません。関連する場合は、等幅制約です。
プログラムで制約を追加することはあまりしていないので、それらがその道のりにある解決策になることを願っています。ストーリーボードまたはプログラムで探していることを実行できるかどうかを誰かに教えてもらえますか?
ios - iOS7 および iOS8 の UI フレームの問題
さまざまなビューを上下に配置する必要がある、わずかに拡張された UI があります。そのため、各ビューを個別UIView
のクラスとして作成し、それらを上下に貼り付けてUIViewController
.
私が直面している問題は、 のフレームがとUIViews
で異なることです。私が望むように動作します。iOS7
iOS8
iOS7
||
最初のスクリーンショットは iOS8 のもので、2 番目は iOS7 のものです。ビューを追加するときに、次のように高さを具体的に指定しました。
iOS7
左から 10 ピクセルを持ち、フレームを正しく設定して、完全に調整します。しかしiOS8
では、フレーム サイズは 255 ではありません。サイズ クラスを使用しています。なぜこうなった?
ios - iPhone 6 および iPhone 6 Plus で iAd を表示しないサイズ クラスの xib を更新
iPhone 6およびiPhone 6 Plusデバイスをサポートするために、古いアプリケーションを更新する必要があります。いくつかの変更を加えて @3x サイズの画像を追加した後、すべてのインターフェイスが適切に表示されるようになりましたが、xib ファイル内の [ Use Size Classes]をチェックすると、iPhone 6 および iPhone 6 Plus でiAdが表示されなくなっていることに気付きました。他のすべてのデバイスでは、通常どおり広告が表示されます。テストのために、広告をサポートするために単純なコード行を使用しています。
xib ファイル内には、ナビゲーション バー、日時ピッカー、およびいくつかのラベルしかありません。バナーを非表示にできる可視要素はありません。Xibファイルを含む他のVControllerもありましたが、プログラムで実装されたビュー要素を備えたxibなしのコントローラーに変更したため、広告が表示されるようになりました。インタースティシャル広告は、すべてのビュー コントローラーで問題なく読み込まれます。誰かが同じ問題を抱えていて、それを解決する方法を知っていますか?
ios - IOS8 サイズ クラスについて
サイズクラスを使用してXcodeで遊んで、それを理解しようとしました。私が抱えている問題は、多くの異なるサイズの電話がすべて同じサイズのクラス (縦向きのすべての iPhone など) に収まるため、たとえば 3.5 インチの画面に収まらないことです。クラスだけでなく、携帯電話間のレイアウトの制約を変更したいので、これはイライラします. それが私が見逃したものかどうかはわかりませんが、これを行う唯一の方法は、アウトレットとして変更したいすべてのレイアウト制約を作成し、各電話のコードでテストし、ラフを使用して更新することです。シミュレータ上で物を見積もり、実行します。
要約すると、デバイスのサイズに基づいて制約を調整するにはどうすればよいですか?それらがすべて同じクラスにある場合はどうすればよいでしょうか? パーセンテージ/比例制約を使用すると、私が求めている結果が得られるはずです。