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. アンドロイドのボタンイメージを変更する
- 2. 進行中のCAKeyframeAnimationアニメーションの速度を変更する
- 3. Objective-C実行時にメソッドへのパラメータを変更してください
- 4. ボタンイメージを永久に変更します
- 5. Objective-C、Mac OS Xアプリケーションの実行中に常にメソッドを実行
- 6. Objective Cで2進数から10進数に変換
- 7. objective-cカスタムイメージビューオブジェクトの幅を変更する
- 8. C++メソッドのメッセージングObjective-Cメソッド?
- 9. Objective-C @synchronizedオブジェクトの変更
- 10. イメージのサイズ変更Objective-C
- 11. 更新進行中のパネルを中央に作成
- 12. Objective Cの中の変数名
- 13. WCFの実行中に進行状況が更新される
- 14. メソッドがWindowsアプリケーションで実行中に進行状況を表示
- 15. Objective-C:クラスとインスタンスのメソッド? Objective-Cで
- 16. MACアドレスを変更するCocoa-Objective-C
- 17. Objective-Cでは、forループの条件をループ中に変更できますか?
- 18. 進行中の進行中のプロセスの例PlayFramework 2
- 19. Objective C +(id)のメソッド
- 20. のObjective-Cメソッド「:」プロトコル
- 21. 実行時にクラスにObjective-Cメソッドを追加する
- 22. 4.6新しいUIボタンイメージを変更するには?
- 23. クエリの実行中に変更する
- 24. UINavigationControllerスタイルをfly-objective-cに変更
- 25. Objective-CのMacOSでファイルのアイコンを変更するには?
- 26. Ext JSページングツールバーの更新ボタンイメージ
- 27. objective-CのJavascript変数を変更する
- 28. objective-cのメソッドディスパッチテーブルを変更するには?
- 29. Objective-C NSString変換のASCII 10進整数
- 30. グラフィックスの変更を強制的に表示するメソッド実行中
方法はそれほど長くはありません。実際、それは短いので、私は問題を抱えているのです。私の方法は本当に速いです...私はちょうどそれを長く見せたいと思っています...あなたは知っています...このプロセスが本当にどれくらい難しいかについて上司をだます。 – 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