から取得した光るコード: UILabel と UIButton のグロー効果の作成
まず、QuartzCore フレームワークをインポートする必要があります。
#import <QuartzCore/QuartzCore.h>
ボタンを作成するとき (または でviewDidLoad
、コード構造によって異なります)、次のコードを追加します。
UIColor *color = button.currentTitleColor;
button.titleLabel.layer.shadowColor = [color CGColor];
button.titleLabel.layer.shadowRadius = 4.0f;
button.titleLabel.layer.shadowOpacity = .9;
button.titleLabel.layer.shadowOffset = CGSizeZero;
button.titleLabel.layer.masksToBounds = NO;
UIControlEventTouchDown
次の 2 つのイベントを監視する必要があります。UIControlEventTouchUpInside
ハンドラーにUIControlEventTouchDown
次のコードを追加します。
UIColor *color = [UIColor clearColor];
button.titleLabel.layer.shadowColor = [color CGColor];
そして、UIControlEventUpInside
handler に次のコードを追加します。
UIColor *color = button.currentTitleColor;
button.titleLabel.layer.shadowColor = [color CGColor];
実装の詳細は、ボタンをプログラムで作成するか、Interface Builder を使用して作成するかによって異なりますが、ここから理解できると確信しています。
編集:カスタムボタンの場合、次のコードを追加するだけで機能するはずです:
[button setImage:[UIImage imageNamed:@"buttonWithGlow.png"]
forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"buttonWithNoGlow.png"]
forState:UIControlStateHighlighted];