問題タブ [uideviceorientation]

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 に答える
1362 参照

objective-c - 画像が uiimageview の幅と高さ全体を占めていません

次のコードがあります。

左または右の横向きモードで画像をキャプチャすると、uiimageview に表示される画像は frame.size 全体を埋めず、常に「短い」

私のコードで何を修正/追加するかを指摘できますか?

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

ios - UIDeviceOrientationDidChangeNotification を複数回呼び出す

デバイスの向きが変わると、UIDeviceOrientationDidChangeNotification が複数回呼び出されます。これがなぜ起こるのか、またはそれを修正する方法がわかりません。

私がやろうとしているのは、スクロールビューの contentoffset を同じに保つことです。そのため、ユーザーが画面を回転させても、アプリは元のページを保持します。

奇妙なことは、コードが最初に実行されたときに画面を回転させたときです。しかし、その後コードが複数回実行されるたびに、最終的に contentoffset が 0 に設定されます。

これが私が持っているものです。

向きを変更したら、「int orientation」の値を変更してから、loadview を呼び出してビューのサイズを変更します。次に、適切な contentoffset を取得するために viewdidload を呼び出します

編集:

問題が見つかりました。私がやっていることは、これを上書きするのではなく、self.view の別のインスタンスを作成することです。このビューを破棄して再初期化する簡単な方法はありますか?

EDIT2:

修正が見つかりました。jsds の指示に従って、loadview と viewdidload の呼び出しを停止しました。代わりに、ロードビュー内のすべてのコードを、ロードビューから呼び出した別の関数に移動しました。このコードは、UI (initview) オブジェクトをインスタンス化し、向きに応じて正しい場所に配置するだけです。

次に、ビューからすべてのサブビューを削除する別の関数を作成します。次に、方向の変更時に、この関数と initview を呼び出してすべてのサブビューを破棄し、方向の変更時にそれらを再作成します。

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

ios - UIDeviceOrientationDidChangeNotification が間違った向きを返す

UIScrollView向きの変更時にフレームを更新する必要があるサブビューがあります。iPhoneシミュレーターでプログラムを実行していUIDeviceOrientationDidChangeNotificationますが、デバイスの正しい向きが返されないようです。UIInterfaceOrientationPortraitに回転すると元に戻りUIInterfaceOrientationLandscapeLeft/Right、その逆も同様です。私はそれを正しく使用していませんか、それとも向きの変更を処理する他の方法を使用する必要がありますか?

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

ios - Apple reject で向きを強制的に変更できますか?

デバイスの向きを強制的に変更するには、ここからコードを取得します

しかし、アップルは使用するアプリを拒否できますsetOrientation:か? いくつかの経験がありますか?

それとも、誰かが 100% 仕事をしていて、Apple に拒否されない可能性がありますか?

わかりました、ありがとう、このスニペットで試してみます。

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

ios - 方向ロックがオンで、アプリが縦向きのみをサポートしている場合、デバイスの向きを検出するにはどうすればよいですか?

私が直面している問題は、ユーザーが私たちのアプリで を使用して写真を撮るときAVCaptureSessionに、写真を縦向きモードで撮ったか横向きモードで撮ったかを判断する方法がないことです。私たちのアプリはポートレートのみをサポートし、携帯電話を使用するときは方向ロックをオンにしておくので、他の人が同じことをする可能性があると仮定してソリューションを構築しようとしています.

使用してみまし[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]たが、方向ロックがオンになっていると、通知が届きません。この機能が可能なのは、携帯電話の方向ロックがオンになっているときに、ベースのカメラ アプリと Google ハングアウト アプリのカメラが回転を検出できるためです (キャンセル ボタンとフラッシュ ボタンのアニメーションは明らかです)。

加速度計を使用して、電話が回転している角度を検出するのが最善の策ですか? 古い答えDetect iPhone screen orientationは、その方法で角度を検出するのが簡単であることを非常に明白にします (明らかに、UIAccelerometer の代わりに Core Motion を使用するように答えを適応させます)。それ。

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

objective-c - 古いプロジェクトの iOS8 ベータ版でカメラが正しく回転しない

古い X コード バージョンを使用して作成された iOS アプリケーションに取り組んでいるため、MainWindow.xib にウィンドウがあります。最近、このプロジェクトを iOS8 ベータ版で実行すると、問題が発生しました。ウィンドウが横方向に回転しません。そのため、MainWindow.xib に別のウィンドウを追加しました。OS バージョンを確認する条件を作成しました。古い iOS バージョンでは、以前に作成したウィンドウを使用していますが、iOS8 では、新しく追加された横向きのウィンドウを使用しています。私は問題を解決しました。カメラを除いて、アプリケーション全体が正常に動作しています。

以下はスクリーンショットです。

LandscapeMode の場合 (正常に動作しています): ここに画像の説明を入力

PortraitMode で (カメラがロードされたら、回転させました。他のコントロールは適切に回転していますが、カメラが過度に適切に回転していません):

ここに画像の説明を入力

カメラが横向きモードで読み込まれると、デバイスを回転させました。コントロールは適切に回転していますが、カメラ画面は回転せず、縦向きモードのままです。これは、Appdelegate のウィンドウが原因である可能性があります。

これに対する解決策はありますか?

前もって感謝します。

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

ios - UIInputViewController サブクラスで回転を検出します。キーボード拡張

私はカスタム キーボード拡張機能を開発しており、デバイスの回転後にいくつかの制約をプログラムで更新する必要があります。UIInputViewController サブクラスでユーザー インターフェイスの回転を検出しようとしましたが、成功しませんでした。これらのメソッドは、デバイスが回転するときに呼び出されません。

-(void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>) coordinator { NSLog(@"Orientation changed"); }

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { NSLog(@"Orientation changed"); }

私も観察しようとしましUIDeviceOrientationDidChangeNotificationたが、うまくいきません。

で回転を検出する方法を知っている人はいますUIInputViewControllerか?