LogoSelectView.m 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. //
  2. // LogoSelectView.m
  3. // 双子星云手机
  4. //
  5. // Created by APPLE on 2023/8/18.
  6. //
  7. #import "LogoSelectView.h"
  8. #import <Masonry.h>
  9. #import "iPhone.h"
  10. @interface LogoSelectView()
  11. {
  12. UIButton *defBtn;//默认privatex
  13. UIButton *claBtn;
  14. UIButton *bowserBtn;
  15. }
  16. @end
  17. @implementation LogoSelectView
  18. @synthesize selectIndex;
  19. @synthesize delegate;
  20. /*
  21. // Only override drawRect: if you perform custom drawing.
  22. // An empty implementation adversely affects performance during animation.
  23. - (void)drawRect:(CGRect)rect {
  24. // Drawing code
  25. }
  26. */
  27. - (id)initWithFrame:(CGRect)frame{
  28. self = [super initWithFrame:frame];
  29. [self drawAnyView];
  30. return self;
  31. }
  32. - (void)drawAnyView{
  33. [self setBackgroundColor:[UIColor clearColor]];
  34. /*标签*/
  35. UILabel *upLabel = [[UILabel alloc] init];
  36. [upLabel setTextColor:HW0A132BColor];
  37. [upLabel setFont:[UIFont boldSystemFontOfSize:16.f]];
  38. [upLabel setText:NSLocalizedString(@"logo_select_login",nil)];
  39. [self addSubview:upLabel];
  40. [upLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  41. make.top.mas_equalTo(10);
  42. make.left.mas_equalTo(16);
  43. make.right.mas_equalTo(-16);
  44. make.height.mas_equalTo(22);
  45. }];
  46. /*提示*/
  47. UILabel *upTipLabel = [[UILabel alloc] init];
  48. [upTipLabel setTextColor:COLOR_PACEHOLDER];
  49. [upTipLabel setFont:[UIFont boldSystemFontOfSize:14.f]];
  50. NSString *curStr = NSLocalizedString(@"logo_change_login_tip",nil);
  51. [upTipLabel setText:curStr];
  52. upTipLabel.numberOfLines = 0;
  53. [self addSubview:upTipLabel];
  54. CGFloat curHeight = [curStr boundingRectWithSize:CGSizeMake(SCREEN_W -16 -16, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:14.f]} context:nil].size.height;
  55. if(curHeight >= 20){
  56. curHeight += 10;
  57. }
  58. [upTipLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  59. make.top.mas_equalTo(upLabel.mas_bottom).offset(10.0);
  60. make.left.mas_equalTo(16);
  61. make.right.mas_equalTo(-16);
  62. //make.height.mas_equalTo(22);
  63. make.height.mas_equalTo(curHeight);
  64. }];
  65. /*掩盖视图类型*/
  66. NSInteger maskModel = [HWDataManager getIntegerWithKey:Const_Mask_View_Model];
  67. /*按钮选择*/
  68. UIView *bgView = [[UIView alloc] init];
  69. [bgView setBackgroundColor:[UIColor whiteColor]];
  70. [bgView.layer setCornerRadius:8.f];
  71. [self addSubview:bgView];
  72. [bgView mas_makeConstraints:^(MASConstraintMaker *make) {
  73. make.top.equalTo(upTipLabel.mas_bottom).offset(12.f);
  74. make.left.mas_equalTo(16);
  75. make.right.mas_equalTo(-16);
  76. make.height.mas_equalTo(180);
  77. }];
  78. //按钮 宽高
  79. CGFloat butSpace = 10.0;
  80. CGFloat butWH = (SCREEN_W - 16*2 - butSpace*4)/3;
  81. for (int i=0; i<3; i++) {
  82. UIButton* curBut = [[UIButton alloc] init];
  83. [curBut setBackgroundColor:HWF7F7F7Color];
  84. curBut.clipsToBounds = YES;
  85. curBut.layer.cornerRadius = 16.f;
  86. [curBut addTarget:self
  87. action:@selector(didCickButtonFun:)
  88. forControlEvents:(UIControlEventTouchUpInside)];
  89. [curBut setTitleColor:HW0A132BColor forState:(UIControlStateNormal)];
  90. [curBut.titleLabel setFont:[UIFont systemFontOfSize:14]];
  91. curBut.tag = 10+i;
  92. [bgView addSubview:curBut];
  93. [curBut mas_makeConstraints:^(MASConstraintMaker *make) {
  94. make.top.mas_equalTo(34.f);
  95. make.left.mas_equalTo(butSpace + i*(butSpace+butWH));
  96. make.width.mas_equalTo(butWH);
  97. make.height.mas_equalTo(butWH);
  98. }];
  99. [curBut.layer setBorderWidth:2];
  100. if (maskModel == i){
  101. selectIndex = maskModel;
  102. [curBut.layer setBorderColor:HW13B2EBColor.CGColor];
  103. }else{
  104. [curBut.layer setBorderColor:[UIColor clearColor].CGColor];
  105. }
  106. if (i == 0){
  107. [curBut setTitle:@"Private-X" forState:(UIControlStateNormal)];
  108. //[curBut setTitle:NSLocalizedString(@"logo_calculator",nil) forState:(UIControlStateNormal)];
  109. [curBut setImage:[UIImage imageNamed:@"PrivateX_icon"] forState:(UIControlStateNormal)];
  110. defBtn = curBut;
  111. }
  112. else if(i == 1){
  113. [curBut setTitle:NSLocalizedString(@"logo_calculator",nil) forState:(UIControlStateNormal)];
  114. [curBut setImage:[UIImage imageNamed:@"calculator_icon"] forState:(UIControlStateNormal)];
  115. claBtn = curBut;
  116. }
  117. else if(i == 2){
  118. [curBut setTitle:NSLocalizedString(@"logo_bowser",nil) forState:(UIControlStateNormal)];
  119. [curBut setImage:[UIImage imageNamed:@"web_icon"] forState:(UIControlStateNormal)];
  120. bowserBtn = curBut;
  121. }
  122. NSInteger titleleng = curBut.titleLabel.text.length;
  123. CGFloat titleOffset = 10.0;
  124. if(titleleng >5){
  125. titleOffset = 0;
  126. }
  127. [curBut setTitleEdgeInsets:UIEdgeInsetsMake(curBut.imageView.frame.size.height+10,-curBut.imageView.frame.size.width, 0.0,0.0)];
  128. [curBut setImageEdgeInsets:UIEdgeInsetsMake(-curBut.bounds.size.width/4+15, curBut.bounds.size.width/4-titleOffset, curBut.titleLabel.bounds.size.height, -curBut.bounds.size.width/4)];
  129. }
  130. // claBtn = [[UIButton alloc] init];
  131. // [claBtn setBackgroundColor:HWF7F7F7Color];
  132. // claBtn.clipsToBounds = YES;
  133. // claBtn.layer.cornerRadius = 16.f;
  134. // [claBtn addTarget:self
  135. // action:@selector(claBtnPressed)
  136. // forControlEvents:(UIControlEventTouchUpInside)];
  137. // [bgView addSubview:claBtn];
  138. // [claBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  139. // make.top.mas_equalTo(34.f);
  140. // make.left.mas_equalTo(52*AUTOSCALE);
  141. // make.width.mas_equalTo(112);
  142. // make.height.mas_equalTo(112);
  143. // }];
  144. //
  145. // [claBtn.layer setBorderWidth:2];
  146. // if (maskModel == 1){
  147. // selectIndex = 1;
  148. // [claBtn.layer setBorderColor:HW13B2EBColor.CGColor];
  149. // }else{
  150. // [claBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  151. // }
  152. // [claBtn setTitle:NSLocalizedString(@"logo_calculator",nil) forState:(UIControlStateNormal)];
  153. // [claBtn setTitleColor:HW0A132BColor forState:(UIControlStateNormal)];
  154. // [claBtn.titleLabel setFont:[UIFont systemFontOfSize:14]];
  155. // [claBtn setImage:[UIImage imageNamed:@"calculator_icon"] forState:(UIControlStateNormal)];
  156. // [claBtn setTitleEdgeInsets:UIEdgeInsetsMake(claBtn.imageView.frame.size.height+10,-claBtn.imageView.frame.size.width, 0.0,0.0)];
  157. // [claBtn setImageEdgeInsets:UIEdgeInsetsMake(-claBtn.bounds.size.width/4+15, claBtn.bounds.size.width/4-10, claBtn.titleLabel.bounds.size.height, -claBtn.bounds.size.width/4)];
  158. //
  159. // bowserBtn = [[UIButton alloc] init];
  160. // [bowserBtn setBackgroundColor:HWF7F7F7Color];
  161. // bowserBtn.clipsToBounds = YES;
  162. // bowserBtn.layer.cornerRadius = 16.f;
  163. // [bowserBtn addTarget:self
  164. // action:@selector(bowserBtnPressed)
  165. // forControlEvents:(UIControlEventTouchUpInside)];
  166. // [bgView addSubview:bowserBtn];
  167. // [bowserBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  168. // make.top.mas_equalTo(34.f);
  169. // make.right.mas_equalTo(-52*AUTOSCALE);
  170. // make.width.mas_equalTo(112);
  171. // make.height.mas_equalTo(112);
  172. // }];
  173. //
  174. // [bowserBtn.layer setBorderWidth:2];
  175. // if (maskModel == 2){
  176. // selectIndex = 2;
  177. // [bowserBtn.layer setBorderColor:HW13B2EBColor.CGColor];
  178. // }else{
  179. // [bowserBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  180. // }
  181. // [bowserBtn setTitle:NSLocalizedString(@"logo_bowser",nil) forState:(UIControlStateNormal)];
  182. // [bowserBtn setTitleColor:HW0A132BColor forState:(UIControlStateNormal)];
  183. // [bowserBtn.titleLabel setFont:[UIFont systemFontOfSize:14]];
  184. // [bowserBtn setImage:[UIImage imageNamed:@"web_icon"] forState:(UIControlStateNormal)];
  185. // [bowserBtn setTitleEdgeInsets:UIEdgeInsetsMake(bowserBtn.imageView.frame.size.height+10,-bowserBtn.imageView.frame.size.width, 0.0,0.0)];
  186. // [bowserBtn setImageEdgeInsets:UIEdgeInsetsMake(-bowserBtn.bounds.size.width/4+15, bowserBtn.bounds.size.width/4-10, bowserBtn.titleLabel.bounds.size.height, -bowserBtn.bounds.size.width/4)];
  187. }
  188. - (void)claBtnPressed{
  189. [claBtn.layer setBorderColor:HW13B2EBColor.CGColor];
  190. [bowserBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  191. [defBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  192. selectIndex = 1;
  193. if ([delegate respondsToSelector:@selector(logoSelectViewHaveSelect)]){
  194. [delegate logoSelectViewHaveSelect];
  195. }
  196. }
  197. - (void)bowserBtnPressed{
  198. [bowserBtn.layer setBorderColor:HW13B2EBColor.CGColor];
  199. [claBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  200. [defBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  201. selectIndex = 2;
  202. if ([delegate respondsToSelector:@selector(logoSelectViewHaveSelect)]){
  203. [delegate logoSelectViewHaveSelect];
  204. }
  205. }
  206. - (void)PrivateXBtnPressed{
  207. [defBtn.layer setBorderColor:HW13B2EBColor.CGColor];
  208. [bowserBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  209. [claBtn.layer setBorderColor:[UIColor clearColor].CGColor];
  210. selectIndex = 0;
  211. if ([delegate respondsToSelector:@selector(logoSelectViewHaveSelect)]){
  212. [delegate logoSelectViewHaveSelect];
  213. }
  214. }
  215. - (void)didCickButtonFun:(UIButton*)but
  216. {
  217. NSInteger tag = but.tag;
  218. if(tag == 10){
  219. [self PrivateXBtnPressed];
  220. }
  221. else if(tag == 11){
  222. [self claBtnPressed];
  223. }
  224. else if(tag == 12){
  225. [self bowserBtnPressed];
  226. }
  227. }
  228. @end