iOS不添加图片的按钮点击效果 UIButton添加点击效果

3,079 阅读1分钟

实现下面几个状态的点击事件

1.UIControlEventTouchUpInside

2.UIControlEventTouchUpOutside

3.UIControlEventTouchDown

@implementation MyViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.saveBtn];
}

-(UIButton *)saveBtn{
    if (!_saveBtn) {
        _saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        _saveBtn.frame = CGRectMake(0, 0, self.view.frame.size.width);
        _saveBtn.backgroundColor = [UIColor colorFromHexValue:0xFF2741];
        _saveBtn.titleLabel.textAlignment = NSTextAlignmentCenter;
        _saveBtn.titleLabel.font = [UIFont systemFontOfSize:16];
        [_saveBtn setTitle:[NSString stringWithFormat:@"保存"] forState:UIControlStateNormal];
        [_saveBtn addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];
        [_saveBtn addTarget:self action:@selector(touchUpOutside) forControlEvents:UIControlEventTouchUpOutside];
        [_saveBtn addTarget:self action:@selector(saveClick) forControlEvents:UIControlEventTouchUpInside];
    }
    return _saveBtn;
}

//按下的效果
-(void)touchDown{
    self.saveBtn.backgroundColor = [UIColor colorFromHexValue:0x9B0000];
}

//按下拖出按钮松手还原
-(void)touchUpOutside{
    self.saveBtn.backgroundColor = [UIColor colorFromHexValue:0xFF2741];
}

//点击方法
-(void)saveClick{
    self.saveBtn.backgroundColor = [UIColor colorFromHexValue:0xFF2741];
    NSLog(@"save");
}

@end