問題タブ [uiscreen]

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.

0 投票する
2 に答える
281 参照

ios - 画面外の情報はどの程度安全ですか?

私の iOS アプリにはロック画面があり、有効にすると全体がカバーされUIScreenます。ただし、UIScreen境界の外には、ロック画面でカバーされていない機密情報を含むペインがあります。(これらのペインは、画面のロックが解除されているときにスワイプして出し入れできます。)

範囲外の情報を持つことはどの程度安全UIScreenですか? 攻撃者は、ある種の外部ディスプレイ、デバッガー、またはその他のメカニズムを使用して、UIScreen画面の外側にあるものを「明らかにする」ことができますか?

【ロック画面はWKWebViewデフォルトで「虫めがね」機能がついた画面です。の端でトリガーされるとUIScreen、虫眼鏡がUIScreen端の後ろにあるものの数ピクセルを表示することを発見しました。それ以来、この回答で虫眼鏡を無効にしました。]

0 投票する
3 に答える
1480 参照

objective-c - [UIScreen mainScreen].bounds が正しくない値を返す

Xcode 6 でランドスケープ アプリを作成しています。iOS 8.3 シミュレーターで実行すると[UIScreen mainScreen].boundsです667x375が、iPhone 6 iOS 8 で実行すると[UIScreen mainScreen].boundsです375x667。多くの要素が画面の境界に合わせてサイズ設定されているため、これが私のアプリに問題を引き起こしています。[UIScreen mainScreen].boundsiOS 8 で変更されたことは知っていますが、それは問題ではありません。667x375デバイスとシミュレーターの両方にある必要があります。コードを提供しますが、問題がどこにあるのかわかりません。

0 投票する
3 に答える
138 参照

ios - iPhone のみの方向ロック

UI設定を使用してiOSアプリ用に設計しましたwAny hRegular

orientationで正常に動作するようになりましたiPad。しかし、アプリがで実行されている場合iPhoneorientation空白の白い画面が表示されます。

ロックorientationインiPhonesのみでオリエンテーションが利用できる方法はありますiPadか?

0 投票する
2 に答える
243 参照

ios - iOS シミュレーターは、同じ iPhone 5s の iOS 7.1 と iOS 8.2 で画面の高さが異なります

iOS シミュレーターが iOS 7.1 および iOS 8.2 環境をテストするには、奇妙な問題があります。iPhone 5s の画面サイズを取得しようとすると、結果が異なります。これはシミュレーターのバグですか?それともiOS 7とiOS 8の違いですか?

アドバイスありがとうございます。

私のコード:

iPhone 5s (8.2) シミュレーターは結果を出力します。

画面境界: (0.0,0.0,320.0,568.0)


iPhone 5s (7.1) シミュレーターは結果を出力します。

画面境界: (0.0,0.0,320.0,480.0)

また、シミュレータ iOS 7.1 の画面を占める上下の黒い帯があります。

0 投票する
0 に答える
41 参照

ios - 2 つの UIWindows 間でデータを共有する

私の目的は、TV の 16x9 アスペクト比にわずかに変更されていることを除いて、iPad と同じコンテンツ (鏡のようなもの) を表示する iOS アプリ用の AirPlay オプションを用意することです。

2 番目のウィンドウが表示され、そのルート ビュー コントローラーを設定できるようになるまで、すべての初期設定が完了しました。

私の現在の戦略は、iPad 用と TV 用の 2 つの別個のビュー コントローラーを作成し、それらが通信するためのチャネルを作成することです。

これは、この問題を解決する最も効率的な方法ですか? UIViewおそらく、同じView Controllerを異なるsで使用することを含む、より良い方法はありますか?

0 投票する
2 に答える
588 参照

ios - iOS ディスプレイ解像度の取得

480x960 ピクセル解像度のデバイス用に設計されたアプリケーションが、480x1136 デバイスで実行されます。480x1136 デバイスで実行しているときに、実際の解像度を検出できる必要があります。残念ながら、デバイスの解像度 (「480x1136」) を取得する代わりに、アプリケーションの解像度 ( == '480x960') を取得するため、期待される代わりに[[UIScreen mainScreen] bounds].size * [[UIScreen mainScreen] scale]返されます。'480x960''480x1136'

実際のデバイスの物理解像度を解決するにはどうすればよいですか?

0 投票する
0 に答える
1270 参照

ios - iPhone 強制的に外部画面の解像度を調整

問題のアプリケーションでは、ユーザーが選択したディスプレイで使用可能な画面モードを 1 つ選択できる必要があります。たとえば、外部ディスプレイは 1920x1080 をネイティブにサポートしている場合がありますが、その EDID には 1920x1200、1280x720、および 1024x768 のサポートされている解像度も表示されます。

デフォルトでは、外部ディスプレイを iOS デバイスに接続すると、外部ディスプレイでサポートされている最高の解像度が常に優先されるように見えます。ユーザーがリストから選択してUIScreenMode.availableModes解像度を変更できるようにしました。モードを選択して に適用するとexternalScreen.currentMode、新しい解像度が考慮されていることが表示されます。

テストでは、すべて赤の外部ディスプレイにビューを割り当てました。たとえば、解像度を 1920x1080 から 1024x768 に変更すると、赤いボックスが 4:3 の縦横比でモニターに表示されます。同じことを 1280x720 にすると、赤いボックスが 16:9 に保たれ、1080 とほとんど同じように画面いっぱいになります。

ただし、赤いボックスには AutoLayout 制約のある 2 つのラベルが含まれています。解像度が変更されても、ラベルの x/y 座標は赤いボックスに対して同じままです。赤いボックスの中央に配置する必要がありますが、解像度を変更しても再レイアウトされないようです。さらに、解像度を下げると、ラベルの物理的なサイズが大きくなります。これは、解像度の変更によってラベルが何らかの影響を受けていることを示しています。

では、赤いボックスのサブビュー (externalDisplay に割り当てられた UIView) を変更した後、どのように更新できUIScreenMode.currentModeますか?

以下は、何が起こっているかの簡略化されたバージョンです。

これは、screenModeDidChange 通知を受信したときに呼び出されます。

アップデート

通知に次の応答を追加するとscreenModeDidChange、問題が解決する場合があります。結果に一貫性がなく、これが iOS 9 ベータ版の問題かどうかはわかりません。

更新 #2

ここに挙げた方法で外部画面の解像度を変更できるように見えますが、実際の出力解像度は変更されません。たとえば、iOS デバイスが 1920x1080 の優先 EDID を示すモニターに接続されている場合、デバイスはデフォルトでこの解像度になります。前述の方法を使用して解像度を変更すると、表示される画像の解像度が変更されますが、出力解像度は 1920x1080 のままです。本質的に、実際の出力解像度は変更されずに、表示されるコンテンツの解像度が低下するだけです。

0 投票する
1 に答える
1248 参照

ios - iOS で UIImage の色を検出する方法

私はこのようなビューを持っています:

ここに画像の説明を入力

左の戻るボタンと右のボタンUIButtonは基本的に、特定の不透明度を持つ2 つの白いイメージ ( で設定) です。今では、この背景のカバー写真で多かれ少なかれ目に見えるように見えます.

しかし、背景のカバー写真を別のものに変更すると、そのカバー画像の不透明度と色が 2 つのボタンの画像に近くなり、それらの 2 つのボタンが見えにくくなります。

このような:

ここに画像の説明を入力

カバー画像の色を検出し、それに応じて2つのボタンの画像または色を変更できる方法はありますか?

あらゆる種類の参照またはガイダンスは非常に高く評価されます。