アプリが起動すると、1秒間UIをフリーズして、前提条件サービス(たとえば、ロケーションサービス)を初期化する必要があります。それを行う方法はありますか?起動時にUIをフリーズする方法はありますか?
2
A
答えて
3
透明なUIViewを画面全体に置き、すべてのタッチイベントをインターセプトします。
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return YES;
}
を:通常、そのメソッドの内部で、あなたがそれにスーパーを呼び出すと思いますが、この場合には、あなただけのYES戻ってくるだけでのUIViewのサブクラスを作成し、
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;
をオーバーライドし、タッチイベントをインターセプトする
あなたが本当に気に入っているのであれば、shouldInterceptTouchesというUIViewサブクラスに合成プロパティを追加して、次のようにします:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return shouldInterceptTouches ? YES : [super pointInside:point withEvent:event];
}
透明なビューが他のビューよりも上にあるように注意してください。
サイドノート:Appleのヒューマンインタフェースガイドラインは、そういったことをしているときには好きではありません。あなたのアプリが反応しない場合、ユーザーは混乱し、失望し、アプリがフリーズしていると思えば、アプリを終了させる可能性があります。何らかのUIActivityIndicatorViewを表示し、絶対に必要なボタンだけを無効にする方が良いでしょう。 Appleはあなたがそのようなことをバックグラウンドで行い、ユーザーが他のことをやり遂げることができるようにしたら、それが好きです。
-1
ロケーションサービスが終了するまでモーダルビューを使用するか、すべてのコンポーネントを無効にすることができます。
これは、OSまたはフレームワークではなく、アプリケーションの責任です。
関連する問題
- 1. 起動時にAndroidエミュレータがフリーズする
- 2. 起動時にSpringブートアプリケーションがフリーズする
- 3. Visual Studioが起動時にフリーズする
- 4. ネイティブアプリケーションが起動時にフリーズする
- 5. Visual Studioがフリーズしたり、起動時にハングする
- 6. C#Windowsフォームアプリケーションの起動時に何が起こっているかを知る方法はありますか
- 7. SwipeRefreshLayoutはUIをフリーズする必要があります
- 8. 起動時にJavaアプリケーションを自動的にアップグレードする方法はありますか?
- 9. サーバーのデプロイ時にQuartzを起動する方法がありません
- 10. Linuxで起動時にスクリプトを早く実行する方法に関するヒントはありますか?
- 11. スレッドを停止し、UIイベントを処理させ、スレッドを「再起動」する方法はありますか?
- 12. 起動時にプロセスによって消費されるメモリを制限する方法はありますか?
- 13. プライムフェイスのプログレスバーを自動起動する方法はありますか?
- 14. 起動時にTomcat 6がフリーズします
- 15. Windowsホストで起動/起動時にVagrantを起動する方法は?
- 16. すべてのUI要素を初期値で起動させるスマートな方法はありますか?
- 17. Google Chromeの起動時にツールバーを無効にする方法はありますか?
- 18. On * nixには、将来の日付と時刻にプロセスを起動する方法がありますか?
- 19. 起動スクリプトをローカルグループポリシーにプログラムで追加する方法はありますか?
- 20. ページのDOMをフリーズまたはロックする方法はありますか?
- 21. 起動パッドにあるSPEAK UIアプリケーションのアクセス権を管理する方法は?
- 22. 起動時に予定されたアクティビティを開始する推奨される方法はありますか?
- 23. 起動時にRoRアプリケーション内のすべてのユーザーセッションを消去する方法はありますか?
- 24. excel起動時にすべてのRTDコールをプールする方法はありますか?
- 25. divをjqueryアプリケーションにロック(フリーズ)する方法はありますか?
- 26. UIViewを一番上にフリーズする方法はありますか?
- 27. 起動時のAndroid Studio 2.2.3のフリーズ
- 28. 起動時にiPad Web Appがフリーズする
- 29. 起動時にDockerコンテナでTomcatがフリーズする
- 30. Android Appが2回目の起動時にフリーズする
これは非常に良い解決策のようです。すべてのタッチイベントを傍受する方法 - exclusiveTouch(YES)とsetUserInteractionEnabled(NO)は十分に良いでしょうか?私は2つの設定を使用しましたが、透明なビューでスワイプで以下のビューが動きます。 – tom
詳細を追加するために投稿を編集しました。 –
ありがとう@ジャック!今私の意見が他の意見よりも上にあることを確認する方法が問題になります。 addSubViewはそれを保証しないでしょうか? – tom