PopMenuModel.m 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // PopMenuModel.m
  3. // HyPopMenuView
  4. //
  5. // Created by Hy_Mac on 16/7/8.
  6. // Copyright © 2016年 ouy.Aberi. All rights reserved.
  7. //
  8. #import "PopMenuButton.h"
  9. #import "PopMenuModel.h"
  10. @implementation PopMenuModel
  11. + (instancetype __nonnull)allocPopMenuModelWithImageNameString:(NSString* __nonnull)imageNameString
  12. AtTitleString:(NSString* __nonnull)titleString
  13. AtTextColor:(UIColor* __nonnull)textColor
  14. AtTransitionType:(PopMenuTransitionType)transitionType
  15. AtTransitionRenderingColor:(UIColor* __nullable)transitionRenderingColor
  16. {
  17. PopMenuModel* model = [[PopMenuModel alloc] init];
  18. model.imageNameString = imageNameString;
  19. model.titleString = titleString;
  20. model.transitionType = transitionType;
  21. model.transitionRenderingColor = transitionRenderingColor;
  22. model.textColor = textColor;
  23. [model _obj];
  24. return model;
  25. }
  26. - (instancetype __nonnull)init
  27. {
  28. self = [super init];
  29. if (self) {
  30. self.transitionType = PopMenuTransitionTypeSystemApi;
  31. }
  32. return self;
  33. }
  34. - (void)setAutomaticIdentificationColor:(BOOL)automaticIdentificationColor
  35. {
  36. _automaticIdentificationColor = automaticIdentificationColor;
  37. [_customView setValue:self forKey:@"model"];
  38. }
  39. - (void)_obj
  40. {
  41. PopMenuButton* button = [[PopMenuButton alloc] init];
  42. button.model = self;
  43. CGFloat buttonViewWidth = MIN(CGRectGetWidth([UIScreen mainScreen].bounds), CGRectGetHeight([UIScreen mainScreen].bounds)) / 2;
  44. buttonViewWidth = buttonViewWidth - 10;
  45. button.bounds = CGRectMake(0, 0, buttonViewWidth, buttonViewWidth);
  46. button.layer.masksToBounds = true;
  47. _customView = button;
  48. }
  49. @end