iOS7以降(iOS7.1, iOS8も)、UIButtonにsetTitleすると勝手にボタンがアニメーションをしてしまうようです。
たとえばコードからデフォルト値設定したいだけなのに[UIButton setTitle:]したら、チラッとUIビルダーの設定値が出ちゃってなんだかあれだったので、止める方法をメモしておきます。
// UIButton *_button のアニメーションを止める例 [UIView setAnimationsEnabled:NO]; [_button setTitle:@"タイトル" forState:UIControlStateNormal]; [_button layoutIfNeeded]; // ボタンタイプがsystemの時はlayoutIfNeededも必要 [UIView setAnimationsEnabled:YES];
UIButton setTitle: する前に setAnimationsEnabled:NO としてアニメーションさせないようにするのが肝です。
ボタンタイプがcustomでなくsystemになっている場合、layoutIfNeededも実行しておかないと、アニメーションが無効になりませんでした。
注意点はsetAnimationsEnabled:NO の間の全てのアニメーションが止まってしまいますので、
アニメーションさせたくない処理が終わったらちゃんとsetAnimationsEnabled:YESに戻しましょう。