iPhone 開発 - アプリケーションとのユーザー操作を制限し、進行状況インジケーターを表示します。

StackOverflow https://stackoverflow.com/questions/446077

  •  22-07-2019
  •  | 
  •  

質問

サーバーから情報を取得する場合があります。私のアプリケーションにはタブ バーとナビゲーション ボタンの両方があります。サーバーからデータが取得されている間、ユーザーがジャンプできないように、アプリケーションに進行状況インジケーターを表示し、他のすべてのコントロールを無効にしたいと考えています。どうすればこれを達成できますか?

私が念頭に置いているアプローチの 1 つは、進行状況ウィンドウ (メッセージ アラート ウィンドウとよく似ており、ユーザーはメッセージ アラート ウィンドウのみを操作できる) を備えた透明なビューを表示することです。このアプローチを実装するには助けが必要です。

現在、情報/データがサーバーから取得されているときに、サブビューに UIActivityView を追加し、アニメーション化を開始します。ただし、これはユーザーがアプリケーションの他の部分に移動することを制限するものではありません。

役に立ちましたか?

解決

Stephan は、UIProgressView または UIActivityIndi​​catorView とともに UIAlertView を使用することを提案しました。この解決策は私にとってはうまくいきましたが、iPhone 開発者コミュニティの他のメンバーと議論したように、このアプローチはお勧めできません。

推奨されるアプローチは、新しいビューを使用してその透明度の値をアルファ 7 または 8 に設定し、背景を黒に設定し、このビューに UIProgressView または UIActivityIndi​​catorView を追加し、この新しいビューを使用して進行状況を表示することです。このテクニックの使用にはハッキングは含まれません。一方、UIActivityIndi​​catorView を UIAlertView に追加する場合、実際には文書化されていない操作が実行されます (これは推奨されません)。

ありがとう。

他のヒント

ボタンのない UIAlertView を作成するだけで、ユーザーの操作が妨げられます。

必要に応じて、UIProgressView または UIActivityIndi​​catorView をアラートに追加できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top