Posted at

角丸で枠線のボタンをハイライトで反転させる

More than 3 years have passed since last update.

ButtonNormal.png

ButtonHighlited.png

こちらで作った角丸で枠線のボタンをハイライトで反転させる

http://qiita.com/hatapu/items/99e6a8b19f890f0fec9f


BorderButton.h

@property (nonatomic) IBInspectable UIColor *normalBackgroundColor;

@property (nonatomic) IBInspectable UIColor *highlitedBackgroundColor;

と書くとストーリーボードに下記のような項目が追加される

StoryboardParams.png

ここで通常時の背景色とハイライト時の背景色を設定して、ハイライト時に呼ばれるUIButtonのメソッド`- (void)setHighlighted:(BOOL)highlighted'をオーバーロードする


BorderButton.m

- (void)setHighlighted:(BOOL)highlighted

{
[super setHighlighted:highlighted];
if (highlighted) {
self.layer.backgroundColor = self.highlitedBackgroundColor.CGColor;
} else {
self.layer.backgroundColor = self.normalBackgroundColor.CGColor;
}

}


ハイライト時の文字色はStoryboardで普通に設定できる

StoryboardHighlitedParams.png

これでタップ時に色が反転するようになる。