UIButtonのイメージを変更する際にアイデアを探していますが、これはメソッドが進行した後に進捗バーと同様に表示されますが、ポーズして画像を表示し、続行し、ボタン画像を変更し、新しい画像を見るために一時停止して、最後の画像に進む。私はObjective Cの少し新しいので、どんなヒントも大いに評価されるでしょう。メソッドの進行中にObjective Cのボタンイメージを変更する
答えて
、あなたはメインスレッドのオフに実行するニーズに合わせて進捗状況を表示する方法(またはUIが更新されません)。設定したら、バックグラウンドメソッドを設定して、メインスレッド上のメソッドを呼び出して現在のステータスを報告するだけです。メインスレッドメソッドはステータス情報を取得し、必要なUI更新を適用します。
だから、重要なポイントは以下のとおりです。
- どれ長寿命の方法は、UIを更新し続けることができるように、バックグラウンドで実行する必要があります。
- 進行状況を追跡するには、定期的にメインスレッドをバックグラウンドスレッドから呼び出します。
- メインスレッドのみからすべてのUIアップデートを実行します。
[btn_h setImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateNormal];
[btn_h setImage:[UIImage imageNamed:@"img1.png"] forState:UIControlStateHighlighted];
[btn_h setImage:[UIImage imageNamed:@"img2.png"] forState:UIControlStateSelected];
よろしく、 シャムparmar
申し訳ありませんが十分に明確ではありませんでした。私はイメージを変更する方法を知っている、私はちょうどメソッドが完了するまで、それが変更を表示することはできません。私はそれが変更を表示する、一時停止する、続行する、新しい画像を表示する、一時停止、続行します。 – BFBC
あなたはUIを更新するには、メインスレッドでdispatch_sync、その後、別のスレッドで処理を実行するために、グランドセントラル派遣を使用することができます。これは非常に簡単で、GCDは非常に高速です。
ありがとう、それについて多くは分かっていませんが、今読んで始めています。 – BFBC
選択した状態のイメージを変更するには、状態UIControlStateSelectedに対してsetImageを呼び出す必要があります。さまざまな状態(通常、強調表示、無効、選択など)ごとに別々の画像を設定できます。
- 1. ボタンイメージの設定と変更WPF、C#
- 2. アンドロイドのボタンイメージを変更する
- 3. 進行中のブラウザの色を変更するには4gl?
- 4. 進行中のCAKeyframeAnimationアニメーションの速度を変更する
- 5. Objective-C実行時にメソッドへのパラメータを変更してください
- 6. Objective-C、Mac OS Xアプリケーションの実行中に常にメソッドを実行
- 7. Xamarinフォーム - 戻るボタンイメージを変更する
- 8. 言語の変更に必要なアプリは、Objective Cの中で
- 9. Linuxシェル進行中のプロセスで変更を記録するスクリプト
- 10. ボタンイメージを永久に変更します
- 11. C++メソッドのメッセージングObjective-Cメソッド?
- 12. Objective Cで2進数から10進数に変換
- 13. objective-cカスタムイメージビューオブジェクトの幅を変更する
- 14. Objective-Cイメージのカラーパフォーマンスを変更する
- 15. イメージのサイズ変更Objective-C
- 16. Objective-C @synchronizedオブジェクトの変更
- 17. Objective-C:クラスとインスタンスのメソッド? Objective-Cで
- 18. Objective Cの中の変数名
- 19. Objective-C to Swift 3メソッド名変更の問題
- 20. Objective C +(id)のメソッド
- 21. セレクタエラーObjective-Cのメソッド
- 22. のObjective-Cメソッド「:」プロトコル
- 23. サーバからの応答後にボタンイメージを変更する
- 24. MACアドレスを変更するCocoa-Objective-C
- 25. C#で実行中のシェルのディレクトリを変更するには?
- 26. Objective C++:C++のObjective Cメソッドを呼び出す
- 27. libvideo asyncメソッドが進行中のビデオをダウンロードする
- 28. 更新進行中のパネルを中央に作成
- 29. Objective-Cでは、forループの条件をループ中に変更できますか?
- 30. WCFの実行中に進行状況が更新される
方法はそれほど長くはありません。実際、それは短いので、私は問題を抱えているのです。私の方法は本当に速いです...私はちょうどそれを長く見せたいと思っています...あなたは知っています...このプロセスが本当にどれくらい難しいかについて上司をだます。 – BFBC
@BFBC - 上記のようにすべてを行い、 '[NSThread sleepForTimeInterval:]'をバックグラウンドメソッドに追加してください。基本的にあなたのパターンは '[UI更新メソッドの呼び出し] - > [スリープ] - > [UI更新メソッドの呼び出し] - > [スリープ] - > ...'になります。あなたの目的が何であれ、十分な時間が経過するまで繰り返してください。 – aroth
私はコンセプトを完全に取得しており、コードを実装していますが、uiの更新メソッドはどこにあるのですか?私はその仕事をしているようには思えません。例:[送信者setImage:[UIImage imageNamed:@ "image1.png"] forState:UIControlStateNormal]; \t [NSThread sleepForTimeInterval:1]; \t [送信者セットイメージ:[UIImage imageNamed:@ "image2.png"] forState:UIControlStateNormal]; \t [NSThread sleepForTimeInterval:1]; – BFBC