*

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?

関連記事

UIAutomation関連覚書

割りと忘れがちなので、自分用備忘録を兼ねて、UIAutomationに関連するtips的なものをまと

記事を読む

iPad用storyboard⇔iPhone用Storyboardへの変換

iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si

記事を読む

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

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

記事を読む

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

iOS7のUItableViewCellだと、UITableView.imageViewに画

記事を読む

バージョンアップ版があることを通知する

拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTip

記事を読む

UISplitViewControllerの仕切り線の色を設定

UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

”No Scheme”になってしまった場合の対応

知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない

記事を読む

HTMLParserを修正する

HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser

記事を読む

UILabelの改行をInterfaceBuilderから入力する

UILabelの行数は任意に設定できて、「0」を指定すると行数を限定しないで(UILabelのbou

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑