模范UIbuton的高亮效果,代码如下:
ViewClickEffect.h
#import <UIKit/UIKit.h>
@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<UITouch *> *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
self.alpha = self.oldAlpha / 4;
}
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
self.alpha = self.oldAlpha;
}
- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
self.alpha = self.oldAlpha;
}
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
}
@end
我的业余技术微信公众号:YKJGZH,欢迎大家进入