2017-03-10 103 views
-2

この関数は宣言された後に呼び出され、すべて機能しますが、UIImageViewsはイメージを変更しません。私はあなたの助けに非常に感謝しています。関数内でUIImageViewイメージを変更できません(SWIFT)

My Code

+2

あなたは、コードブロックとしてではなく、イメージとして、あなたの質問にあなたのコードを含める必要があります。 – Moritz

+0

このコードをメインキューで実行してもよろしいですか? – Avt

+0

そこにブレークポイントを置き、何が実行されているかを確認してください。 – creeperspeak

答えて

0

私はこの問題がスリープ(3)だと思いますが、この行はメインスレッドをブロックします。代わりに、その使用の :

DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { 
    // your code here 
} 

アップルリファレンス

注:
ほとんどの部分については、だけで、アプリケーションのメインスレッドからのUIKitのクラスを使用します。これは、UIResponderから派生したクラスや、アプリのユーザーインターフェイスを操作するクラスに特に当てはまります。

よろしく

+0

問題はsleep(3)の使用でした。私は 'DispatchQueue.main.asyncAfter(デッドライン:.now()+ 0.3){ //あなたのコードはここに }'を使用して、それは完璧に働いた!本当にありがとう :) – Alfie

0

あなたがメインスレッドまたはバックグラウンドのいずれかであなたのイメージを更新しているところわかりません。スリープを使用しないでください。代わりに、メインスレッドの画像をdelayと非同期に更新してみてください。

DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) 
{ self.GreenImage.image = UIImage } 
関連する問題