*

UIButtonのタイトル変更時のチラつき抑制

公開日: : 最終更新日:2014/10/07 Tips ,

久しぶりにXcode+Objective-Cでアプリを作っていたら、UIButtonのタイトルを動的に(具体的にはUIStepperの数値に合わせてタイトルを設定している)再設定しているところでチラツキが発生しているように見えるのが気になりました。

とりあえず解決方法を例によってstackoverflowで探したので、備忘的でありますが書き残しておこうと思います。
もっとも、コードだけ書けばいいような話なので、コードを置いておく程度ですが。

※stackoverflowだと「iOS7.1以降だと云々」というような話を書いてあったので、iOS7以降の話でしょうか…。

// --- UIButton* btnのタイトルを変更する
    [UIView setAnimationsEnabled:NO];
    [btn setTitle:@"(新しいタイトル)"]
    [btn layoutIfNeeded];
    [UIView setAnimationsEnabled:YES];

要するにちらつくというか、実態はUIButtonのアニメーションなので、タイトル変更の間だけアニメーションをオフにする。iOS7.1以降の場合は、さらにlayoutIfNeededメソッドも呼んでおく(呼ばないとやっぱりチラつく)ということのようです。

参考サイト

[stackoverflow]
How to stop unwanted UIButton animation on title change?

関連記事

Bitbucketの画面の日本語化/コミット時に同時プッシュを行う

前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

実機テストしたときのデータを取り出す

Xcodeでコンパイルして実機テストしている場合に、テストデータを実機から取り出す方法です。 以下

記事を読む

UITableViewのセルセパレータが画像の下部分だけ切れる場合の対応

iOS7のUItableViewCellだと、UITableView.imageViewに画

記事を読む

Bitbucket課題の記法サンプル

Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット

記事を読む

UITableViewのヘッダに小文字を入れる

UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載

記事を読む

iOS6時代のアプリのiOS7への対応

やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情

記事を読む

AVAudioPlayerの初回再生遅延

ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑