*

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?

関連記事

iOS7でカメラ撮影時のステータスバーを消す

UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番

記事を読む

StoryboardからPopoverを作っても位置合わせコードは必要

これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese

記事を読む

NSAttributedStringをローカライズする方法

NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手

記事を読む

UITableViewCellのロングタップ

UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した

記事を読む

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

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

記事を読む

User Defined Runtime Attributeについての覚書

UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡

記事を読む

Realmで==ができなかった

最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト

記事を読む

UIActionSheetが消えるときにキーボード表示/非表示通知が来る

 UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート

記事を読む

bitbucketをXcode5で使用する

bitbucketは無償で5人までの少人数チーム用のクローズド(非公開)リポジトリを作成できるため、

記事を読む

UITableViewのセクションヘッダをStoryboardで作る時の参考

UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑