iOS UIView点击高亮效果

模范UIbuton的高亮效果,代码如下:

ViewClickEffect.h

#import 

@interface ViewClickEffect : UIView

@end

ViewClickEffect.m

#import "ViewClickEffect.h"

@interface ViewClickEffect ()
@property(nonatomic, unsafe_unretained) CGFloat oldAlpha;
@end

@implementation ViewClickEffect
- (void)awakeFromNib {
  [super awakeFromNib];
  [self commonInit];
}

- (instancetype)init {
  if (self = [super init]) {
    [self commonInit];
  }
  return self;
}

- (instancetype)initWithCoder:(NSCoder *)coder {
  self = [super initWithCoder:coder];
  if (self) {
    [self commonInit];
  }
  return self;
}

- (instancetype)initWithFrame:(CGRect)frame {
  self = [super initWithFrame:frame];
  if (self) {
    [self commonInit];
  }
  return self;
}

- (void)commonInit {
  self.oldAlpha = self.alpha;
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  [super touchesBegan:touches withEvent:event];
  self.alpha = self.oldAlpha / 4;
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
  [super touchesEnded:touches withEvent:event];
  self.alpha = self.oldAlpha;
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
  [super touchesCancelled:touches withEvent:event];
  self.alpha = self.oldAlpha;
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
  [super touchesCancelled:touches withEvent:event];
    
}

@end


我的业余技术微信公众号:YKJGZH,欢迎大家进入

你可能感兴趣的:(iOS/OC)