指定された期間にわたってビューの不透明度を下げるには、アニメーション ブロックに入れます。アルファを設定できます - 私の個人的な好みは、このような視覚処理のためにレイヤー プロパティを調整することです (主に、これは私のコード ベースの一貫性の問題です)。ここに示すいずれかのアプローチを使用できます (両方を使用しないでください)。このような状況では、違いはごくわずかです。レイヤー プロパティを変更する場合は、Quart ヘッダーをインポートする必要があります。
- (void)flash:(id)sender
{
UIButton *button = (UIButton *)sender;
NSTimeInterval duration = 1;
[UIView animateWithDuration:duration
animations:^{
// My preferred approach is to set layer opacity...
[[button layer] setOpacity:0.1f];
// But you could just as easily set alpha (per your original question)
[button setAlpha:0.1f];
} completion:^(BOOL finished) {
// Returns the button to full opacity on completion.
[[button layer] setOpacity:1.0f];
// Or alternately, alpha
[button setAlpha:1.0f];
}];
}