iOS UIView点击高亮效果

移动开发 waitig 1091℃ 百度已收录 0评论

模范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


本文由【waitig】发表在等英博客
本文固定链接:iOS UIView点击高亮效果
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)