CALayer+Lookin.m 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // CALayer+Lookin.m
  3. // Lookin
  4. //
  5. // Created by Li Kai on 2018/8/4.
  6. // https://lookin.work
  7. //
  8. #import "CALayer+Lookin.h"
  9. @implementation CALayer (Lookin)
  10. - (void)lookin_removeImplicitAnimations {
  11. NSMutableDictionary<NSString *, id<CAAction>> *actions = @{NSStringFromSelector(@selector(bounds)): [NSNull null],
  12. NSStringFromSelector(@selector(position)): [NSNull null],
  13. NSStringFromSelector(@selector(zPosition)): [NSNull null],
  14. NSStringFromSelector(@selector(anchorPoint)): [NSNull null],
  15. NSStringFromSelector(@selector(anchorPointZ)): [NSNull null],
  16. NSStringFromSelector(@selector(transform)): [NSNull null],
  17. NSStringFromSelector(@selector(sublayerTransform)): [NSNull null],
  18. NSStringFromSelector(@selector(masksToBounds)): [NSNull null],
  19. NSStringFromSelector(@selector(contents)): [NSNull null],
  20. NSStringFromSelector(@selector(contentsRect)): [NSNull null],
  21. NSStringFromSelector(@selector(contentsScale)): [NSNull null],
  22. NSStringFromSelector(@selector(contentsCenter)): [NSNull null],
  23. NSStringFromSelector(@selector(minificationFilterBias)): [NSNull null],
  24. NSStringFromSelector(@selector(backgroundColor)): [NSNull null],
  25. NSStringFromSelector(@selector(cornerRadius)): [NSNull null],
  26. NSStringFromSelector(@selector(borderWidth)): [NSNull null],
  27. NSStringFromSelector(@selector(borderColor)): [NSNull null],
  28. NSStringFromSelector(@selector(opacity)): [NSNull null],
  29. NSStringFromSelector(@selector(compositingFilter)): [NSNull null],
  30. NSStringFromSelector(@selector(filters)): [NSNull null],
  31. NSStringFromSelector(@selector(backgroundFilters)): [NSNull null],
  32. NSStringFromSelector(@selector(shouldRasterize)): [NSNull null],
  33. NSStringFromSelector(@selector(rasterizationScale)): [NSNull null],
  34. NSStringFromSelector(@selector(shadowColor)): [NSNull null],
  35. NSStringFromSelector(@selector(shadowOpacity)): [NSNull null],
  36. NSStringFromSelector(@selector(shadowOffset)): [NSNull null],
  37. NSStringFromSelector(@selector(shadowRadius)): [NSNull null],
  38. NSStringFromSelector(@selector(shadowPath)): [NSNull null]}.mutableCopy;
  39. if ([self isKindOfClass:[CAShapeLayer class]]) {
  40. [actions addEntriesFromDictionary:@{NSStringFromSelector(@selector(path)): [NSNull null],
  41. NSStringFromSelector(@selector(fillColor)): [NSNull null],
  42. NSStringFromSelector(@selector(strokeColor)): [NSNull null],
  43. NSStringFromSelector(@selector(strokeStart)): [NSNull null],
  44. NSStringFromSelector(@selector(strokeEnd)): [NSNull null],
  45. NSStringFromSelector(@selector(lineWidth)): [NSNull null],
  46. NSStringFromSelector(@selector(miterLimit)): [NSNull null],
  47. NSStringFromSelector(@selector(lineDashPhase)): [NSNull null]}];
  48. }
  49. if ([self isKindOfClass:[CAGradientLayer class]]) {
  50. [actions addEntriesFromDictionary:@{NSStringFromSelector(@selector(colors)): [NSNull null],
  51. NSStringFromSelector(@selector(locations)): [NSNull null],
  52. NSStringFromSelector(@selector(startPoint)): [NSNull null],
  53. NSStringFromSelector(@selector(endPoint)): [NSNull null]}];
  54. }
  55. self.actions = actions;
  56. }
  57. @end