这需要用到KVO,监听button的highlighted属性的变化,在监听回调里根据监听到得属性值设置layer
设置监听如下
class="dp-cpp" start="1">
- [button addObserver:self forKeyPath:@"highlighted" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:NULL];
- 监听回调如下
- -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { UIButton * bt = (UIButton* )object;
- if([keyPath isEqualToString:@"highlighted"])
- {
- if(bt.state == UIControlStateNormal) {
- bt.layer.bordColor = [UIColor redColor].CGColor;
- } else{
- bt.layer.bordColor = [UIColor black].CGColor;
- }
- }