..

Storyborad 简单自定义 UIButton

需要实现的效果

  1. 普通状态
  2. 点击高亮状态
#import <UIKit/UIKit.h>

@interface OButton : UIButton

@end
#import "OButton.h"

@implementation OButton

- (id)initWithCoder:(NSCoder *)aDecoder {
    if (self == [super initWithCoder:aDecoder]) {
        self.layer.cornerRadius = 5.;	//按钮圆角
        if (self.isEnabled) {
            self.backgroundColor = [UIColor blackColor];	//普通状态为黑色
        }else {
            self.backgroundColor = [UIColor lightGrayColor];	//禁用状态为灰色
        }
    }
    return self;
}

//重写Enable状态改变的方法
- (void)setEnabled:(BOOL)enabled {
    [super setEnabled:enabled];
    if (enabled) {
        self.backgroundColor = [UIColor blackColor];
    }else {
        self.backgroundColor = [UIColor lightGrayColor];
    }
}

//重写点击高亮状态改变的方法
- (void)setHighlighted:(BOOL)highlighted {
    [super setHighlighted:highlighted];
    if (highlighted) {
        self.backgroundColor = [UIColor redColor];
    }else {
        self.backgroundColor = [UIColor blackColor];
    }
}

@end

Storyboard中的Button直接使用这个类就可以简单实现自定义UIButton了。