問題タブ [screen-rotation]

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

containers - Container View ControllerでのUIPageViewControllerの回転

他のViewControllerを含むUIViewControllerがあります。最初の ViewController は viewDidLoad で設定されます。

この Container Controller は、YES を返すように自動的に ForwardAppearanceAndRotationMethodsToChildViewControllers を実装しています。また、非アクティブな ViewController への前方回転の変更を手動で実装しています。

メニュー ボタンがタップされると、ViewController 間の遷移を行います。

このトランジションは、「通常の」ViewController では正常に機能し、アクティブでない場合でも、方向の変更後に適切に表示されます。ただし、SecondCV と呼ばれるこれらの子ビュー コントローラーの 1 つには、子ビュー コントローラーとしてUIPageViewControllerがあります。UIPageViewControllerDelegateとUIPageViewControllerDataSourceをこの SecondCV と pageViewController:spineLocationForInterfaceOrientation に設定していますポートレートの場合は UIPageViewControllerSpineLocationMin を返し、ランドスケープの場合は UIPageViewControllerSpineLocationMid を返します。この SecondVC の回転は、アクティブなときに正しく機能します。横向きモードで 2 ページ、縦向きモードで 1 ページが正しく表示されます。しかし、この SecondVC がアクティブでない場合、ローテーションは正しくありません。pageViewController:spineLocationForInterfaceOrientation:が呼び出された場合でも、ポートレート モードとランドスケープ モードの両方で 1 つのページがまだ存在します。しばらくこれを修正しようとしていますが、他のオプションが表示されません。これを修正する方法はありますか?

ありがとうございました。

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

android - Androidは、画面の回転後にネストされたAsyncTaskonPostExecuteからデータを保存します

私はこれに対する解決策を探すのに何時間も費やし、助けが必要です。

AndroidアプリのアクティビティにネストされたAsyncTaskがあり、ユーザーが新しいAsyncTaskを開始せずに、処理中に電話を回転できるようにしたいと思います。onRetainNonConfigurationInstance()とgetLastNonConfigurationInstance()を使用しようとしました。

私は仕事を続けることができます。ただし、ローテーション後、onPostExecute()の結果は外部クラス変数に保存されません。もちろん、ゲッターとセッターを試してみました。onPostExecuteに変数をダンプすると、問題ありません。しかし、onClickリスナーから変数にアクセスしようとすると、nullになります。

たぶん、コードはあなたのために問題を明らかにするでしょう。

}

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

objective-c - presentPopoverFromRect は、回転時にポップオーバーを横向きに表示しています

-UIView があります。
-この UIView には、クリックすると UIAlertView が表示される UIButton があります。
-この UIAlertView 内には、クリックすると buttonClicked: を呼び出す別の UIButton があります
。(hourKeyboard はカスタム ビューです)

通常のポートレート モードでは、これはうまく機能します。ポップオーバーはボタンのすぐ右に生成され、矢印はボタンの左を正しく指しています。

発生する 2 つの問題があります:
1) このポップオーバーが表示されている間、画面を回転させると、ポップオーバーがわずかに正しく回転しません (独自の x および y 位置を再配置しません)
2) ポップオーバーが表示されていない場合。画面を回転させてから「buttonClicked」を呼び出すと、ポップオーバーが表示されますが、ボタンの上に横向きに表示され、ボタンに向かって「下」を指す矢印が表示されます(技術的には、横向きのポップオーバー ビューに対して左)。閉じる場合は、画面を回転させてから「buttonClicked」を呼び出すと、ポップオーバーが逆さまに表示され、ボタンがボタンの「右」を指します (技術的には、横向きのポップオーバー ビューに対して左)。もう一度横向きにしてから、もう一度右向きにすることを繰り返します。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

私の考え:

1) x と y の位置を変更するだけでよいと思いますが、ポップオーバーを閉じて、ローテーションでもう一度表示する必要があることも読みました。最初の問題が機能するかどうかはわかりますが、2番目の問題の方が心配です。

2) このローテーションの問題を修正する方法がわかりません。ポップオーバーが表示されずに横向きに回転すると見えるようです。そして、presentPopoverFromRect を呼び出すと、誤って iPad がまだ縦長ビューにあると考えてポップオーバーが作成されます。それが与えている動作ですが、iPad がこの間違いをしないようにする方法がわかりません。

-=-=-=-=-=-=-=-=-=

ご協力いただきありがとうございます。

-=-=-

ちょっとした更新:
1) 回転時にメイン ビューからポップオーバーを簡単に閉じることができました。そして、これは誰もがこの問題に対処する一般的な方法のようです.

2) フレームを変更したり、CGAffineTransformMakeRotation を使用したりなど、さまざまなことを試していますが、今のところうまくいきません

-=-=-

別の更新:

2) 多くのテストの後、UIAlertView に直接的な問題があるようです。ビューをUIAlertView内に配置すると(現在実行中)、AlertViewは画面が回転していることをポップオーバーに通知しません...したがって、問題が発生します

これを修正する唯一の方法は、UIAlertView を完全に削除することです。UIAlertView を表示する代わりに、さまざまなバックグラウンド ビューを手動で無効にし (Alert View が行っていたように)、AlertView に酷似したカスタム UIView を表示します。そこから、問題なくポップオーバーを表示できるはずです。私はそれがどのようになるかを教えてあげます。

-=-=-=-=-=-=-=-

最終的解決:

結局、独自のビューを作成し、そのビューに UIAlertView を模倣させました。次に、ポップオーバーを生成したときに、ルート ビュー コントローラーに配置しました。はるかにうまく機能しましたが、事前に作成された UIAlertView の代わりに独自のビューを手動で作成する必要があったため、より多くの作業が必要でした。いずれにせよ、どうやら UIAlertView は UIPopoverover サブビューにそれがどの回転にあるかを伝えるのに失敗したようです。

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

iphone - UIScrollviewのアクションシート

画像を表示するためのフルスクリーンUIScrollViewがあります。また、スクロールビューは長押しジェスチャを認識します。スクロールビューを長押しすると、アクションシートが表示されます。アクションシートをウィンドウに追加すると、画面を回転させている間は回転しません。スクロールビューに追加すると回転しますが、スクロールビューをズームまたはスクロールした場合はあまり良くありません。スクロールビューのスクロールやズームに関係なく、アクションシートをうまく回転させることはできますか?

ps。スクロールビューは、「self.view=myScrollView;」によってウィンドウに直接追加されます。

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

android - Android:ローテーション後にWebviewコンテンツを保持する

ローカルのJavaScript(「asset」フォルダー内)からデータが入力されたWebViewがあります。WebViewの読み込みには数秒かかるので、デバイスの回転を維持したいと思います。configChangesには他の付随的な影響があるため、使用したくありません。

最善のアプローチは、WebViewから画像を作成し、回転時にWebViewの代わりに画像をロードすることであるように思われますが、その方法がわかりません。

これが私が試したコードです:

ただし、これは空白のビューのみを表示します。

「pictureNightDay」は以前に保存されました

ありがとう、さようならマウリツィオ

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

android - Android: 回転時に Webview のサイズが変更されない (ICS)

次の設定で、レイアウトに単純な WebView があります

私のマニフェスト内には、含むアクティビティがに設定されています

私の Webview には、デバイス上の単純な HTML ファイルが取り込まれており、うまく機能しています。問題は、デバイスを縦向きから横向きに回転させると、Web ビューの高さがかなり高くなり、その下にあるものがレイアウト内でさらに下に押し出されることです。コンテンツの量は変わりません。すべて OnCreate() で設定されます。

私は Webview を使用して、独自の特別なスタイルシートでコンテンツをレンダリングしていますが、ScrollView 内にとどまる必要があります。

必要に応じて、より多くの情報を提供できます:)

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

android - Android の向きの変更

画面のタッチを理解するための簡単なActivity呼び出しがあります。SingleTouchTest奇妙なのは、SingleTouchTest私がいる向きに関係なく起動しますが、デバイスを回転させても画面が回転しないことです。

私のテスト デバイスは、Android 4.0.3 を実行している Acer A100 です。

mainには、 を含む、私のテストes に移動するActivityが含まれています。回転以外は問題なく実行できます(以下の完全なコード)。(以下の完全なコード)では、すべての組み合わせを試しましたListViewActivitySingleTouchTestSingleTouchTestAndroidManifest.xml

android:configChanges="keyboard|keyboardHidden|orientation" android:screenOrientation="unspecified"

そして自動回転しません。onConfigurationChanged()メソッドを削除してSingleTouchTestも何も起こりません。

の完全なコードAndroidManifest.xml:

の完全なコードSingleTouchTest:

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

android - ライブ壁紙の画面回転

私は現在、非常に集中的で、画面の回転をうまく処理できないライブ壁紙に取り組んでいます。

実際、壁紙は破棄され、onSurfaceChanged を呼び出さずに空白の画面が表示されます。

onSurfaceChanged メソッド内にあるものは次のとおりです。

ログメッセージがないため、このメソッドが呼び出されないことは確かです。

なぜこれが起こっているのですか?また、画面の回転を処理するためのテクニックは何ですか? 私のライブ壁紙があまりにも集中的で、ボイドを呼び出すことができないのでしょうか?

また、onVisibilityChanged も呼び出されず、エミュレーターでアプリを開くと、ログ メッセージはありません。

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

android - RE: ライブ壁紙の画面回転

最近、ライブ壁紙の画面回転に関する質問を投稿しました。これらの問題が発生した理由をテストするために、以下の簡単なプログラムを作成しました。

}

壁紙を回転させると、空白の画面が表示されます。私のコードの何が問題なのか誰か知っていますか?

壁紙を実行すると、logcat に次のエラーが表示されます。

奇妙なのは、壁紙を設定したときに、エミュレーターではなく logcat で強制停止メッセージが表示されることです。

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

android - 構成変更時に再表示される非表示のバックスタックフラグメント

私は1つのアクティビティ-複数のフラグメントアプリケーションを構築しています。トランザクションごとにバックスタックに追加します。フラグメントを非表示にして表示し、電話を回転させた後、コンテナに追加されたすべてのフラグメントが復元され、すべてのフラグメントが他のフラグメントの上に配置されます。

何が問題になる可能性がありますか?以前に非表示にしたフラグメントがアクティビティに表示されるのはなぜですか?

以前に非表示にされた現在表示されているフラグメントをすべて非表示にすることを考えていますが、これを行うためのより「優雅な」方法はありますか?