UIButtonのタイトル変更時のチラつき抑制
久しぶりに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?
関連記事
-
-
UISplitViewControllerの仕切り線の色を設定
UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ
-
-
FormSheetでModalに表示させたビューの高さを変更する
iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは
-
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
UILabelの改行をInterfaceBuilderから入力する
UILabelの行数は任意に設定できて、「0」を指定すると行数を限定しないで(UILabelのbou
-
-
StoryboardからPopoverを作っても位置合わせコードは必要
これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese
-
-
iOS7でカメラ撮影時のステータスバーを消す
UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番
-
-
ソースコードからStoryboardにアクセスする
複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場
-
-
UIButtonのappearanceで派生する色設定
以下のコードでUIButtonのappearanceでBackgroundColorの設定をすると、
