iOS AILinkBleSDK - 蓝牙SDK
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ELDemoButton.m 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // ELDemoButton.m
  3. // AILinkBleSDK_Example
  4. //
  5. // Created by LarryZhang on 2023/2/4.
  6. // Copyright © 2023 zhengzida. All rights reserved.
  7. //
  8. #import "ELDemoButton.h"
  9. @interface ELDemoButton ()
  10. @property (nonatomic, strong) UIColor *bgColor;
  11. @end
  12. @implementation ELDemoButton
  13. - (void)setCornerRadius:(CGFloat)cornerRadius {
  14. self.layer.masksToBounds = YES;
  15. self.layer.cornerRadius = cornerRadius;
  16. }
  17. - (void)setBorderWidth:(CGFloat)borderWidth {
  18. self.layer.borderWidth = borderWidth;
  19. }
  20. - (void)setBorderColor:(UIColor *)borderColor {
  21. self.layer.borderColor = borderColor.CGColor;
  22. }
  23. - (CGFloat)cornerRadius {
  24. return self.layer.cornerRadius;
  25. }
  26. - (CGFloat)borderWidth {
  27. return self.layer.borderWidth;
  28. }
  29. - (UIColor *)borderColor {
  30. return [UIColor colorWithCGColor:self.layer.borderColor];
  31. }
  32. - (UIColor *)mainColor {
  33. if (_mainColor == nil) {
  34. _mainColor = UIColor.blueColor;
  35. }
  36. return _mainColor;
  37. }
  38. - (void)setDisabled:(BOOL)disabled {
  39. _disabled = disabled;
  40. self.enabled = !disabled;
  41. if (disabled) {
  42. self.bgColor = UIColor.clearColor;
  43. } else {
  44. self.lighted = self.lighted;
  45. }
  46. }
  47. - (void)setLighted:(BOOL)lighted {
  48. _lighted = lighted;
  49. if (lighted) {
  50. self.bgColor = self.mainColor;
  51. } else {
  52. self.bgColor = UIColor.clearColor;
  53. }
  54. }
  55. - (void)setBgColor:(UIColor *)bgColor {
  56. _bgColor = bgColor;
  57. self.backgroundColor = bgColor;
  58. if (bgColor == UIColor.clearColor) {
  59. [self setTitleColor:self.mainColor forState:UIControlStateNormal];
  60. } else if ([self isDeepColor:bgColor]) {
  61. [self setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
  62. } else {
  63. [self setTitleColor:UIColor.blackColor forState:UIControlStateNormal];
  64. }
  65. }
  66. - (BOOL)isDeepColor:(UIColor *)color {
  67. CIColor *ciColor = [CIColor colorWithCGColor:color.CGColor];
  68. CGFloat r = ciColor.red * 255;
  69. CGFloat g = ciColor.green * 255;
  70. CGFloat b = ciColor.blue * 255;
  71. CGFloat y = r * 0.299 + g * 0.587 + b * 0.114;
  72. if (y >= 192) {
  73. return false;
  74. }
  75. return true;
  76. }
  77. @end