Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2015年09月19日

UIActivitiIndicatorが動作しない場合の対処



iOS8以前向けのアプリのプロジェクトを、iOS9向けにビルドしたバイナリの実行時に、UIActivitiIndicatorが動作しなくなってしまった場合の対処法。

// UIActivitiIndicatorの表示処理
・・・・

// RunLoopに入る
[[NSRunLoop currentRunLoop]runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.0]];


一旦、RunLoopに入ることによって、UIActivitiIndicatorが表示されるようになる。

既存のプロジェクトで、
NSThread detachNewThreadSelector:@selector(activityIndicatorThread) toTarget:self withObject:nil];
のように記述していた場合は、
[self activityIndicatorThread];

[[NSRunLoop currentRunLoop]runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.0]];
に修正するのが最も修正量が少なくて済む。

dispatch_asyncを使用する方法もあるが、修正量が大幅に増える場合は、RunLoopを起動させるのが最も単純で修正量が少ない。

参考記事:
http://info-utakura.blogspot.jp/2011/11/uiactivityindicatorview.html
 
タグ:IOS apple Mac iPhone
posted by mobileDeveloper at 21:41 | Comment(0) | TrackBack(0) | トラブルシューティング はてなブックマーク - UIActivitiIndicatorが動作しない場合の対処 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/426367785
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。