YOUPAIGradualButton.m 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // YOUPAIGradualButton.m
  3. // MSYOUPAI
  4. //
  5. // Created by admin on 2022/3/10.
  6. // Copyright © 2022 MS. All rights reserved.
  7. //
  8. #import "YOUPAIGradualButton.h"
  9. #import "YYKit.h"
  10. @implementation YOUPAIGradualButton
  11. - (instancetype)initWithFrame:(CGRect)frame{
  12. if(self == [super initWithFrame:frame]){
  13. [self.layer addSublayer:self.gradientLayer];
  14. @weakify(self)
  15. [self addObserverBlockForKeyPath:@"bounds" block:^(id _Nonnull obj, id _Nullable oldVal, id _Nullable newVal) {
  16. @strongify(self)
  17. self.gradientLayer.frame = self.bounds;
  18. [self ms_radius:self.bounds.size.height/2];
  19. }];
  20. }
  21. return self;
  22. }
  23. -(CAGradientLayer *)gradientLayer{
  24. if(_gradientLayer == nil){
  25. _gradientLayer = [CAGradientLayer layer];
  26. _gradientLayer.locations = @[@(0), @(1.0f)];
  27. _gradientLayer.startPoint = CGPointMake(0.06, 0);
  28. _gradientLayer.endPoint = CGPointMake(0.95, 0.95);
  29. _gradientLayer.colors = @[(__bridge id)LZBFB6FFColor.CGColor, (__bridge id)LZ7C69FEColor.CGColor];
  30. }
  31. return _gradientLayer;
  32. }
  33. -(void)dealloc{
  34. [self removeObserverBlocks];
  35. }
  36. @end