MerchantBankInfoView.m 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489
  1. //
  2. // MerchantBankInfoView.m
  3. // merchant
  4. //
  5. // Created by qitewei on 2025/8/14.
  6. // Copyright © 2025 xfg. All rights reserved.
  7. //
  8. #import "MerchantBankInfoView.h"
  9. #import "UIView+Extention.h"
  10. @implementation MerchantBankInfoView
  11. - (instancetype)initWithFrame:(CGRect)frame
  12. {
  13. self = [super initWithFrame:frame];
  14. if (self) {
  15. [self setupUI];
  16. [self setupConstraints];
  17. }
  18. return self;
  19. }
  20. - (void)setupUI {
  21. self.backgroundColor = [UIColor clearColor];
  22. // 添加提示信息区域
  23. [self setupWarningSection];
  24. // 添加账户名称区域
  25. [self setupAccountNameSection];
  26. // 添加账户号码区域
  27. [self setupAccountNumberSection];
  28. // 添加开户行区域
  29. [self setupBankNameSection];
  30. // 添加银行卡上传区域
  31. [self setupBankCardSection];
  32. }
  33. - (void)setupWarningSection {
  34. [self.contentView addSubview:self.warningView];
  35. [self.warningView addSubview:self.warningIcon];
  36. [self.warningView addSubview:self.warningLabel];
  37. }
  38. - (void)setupAccountNameSection {
  39. [self.contentView addSubview:self.accountNameLabel];
  40. [self.contentView addSubview:self.accountNameTextField];
  41. }
  42. - (void)setupAccountNumberSection {
  43. [self.contentView addSubview:self.accountNumberLabel];
  44. [self.contentView addSubview:self.accountNumberTextField];
  45. }
  46. - (void)setupBankNameSection {
  47. [self.contentView addSubview:self.bankNameLabel];
  48. [self.contentView addSubview:self.bankNameTextField];
  49. }
  50. - (void)setupBankCardSection {
  51. [self.contentView addSubview:self.uploadBankCardLabel];
  52. [self.contentView addSubview:self.frontCardView];
  53. [self.contentView addSubview:self.backCardView];
  54. // 正面
  55. [self.frontCardView addSubview:self.frontCardTitleLabel];
  56. [self.frontCardView addSubview:self.frontCardSubtitleLabel];
  57. [self.frontCardView addSubview:self.frontCardImageView];
  58. // 反面
  59. [self.backCardView addSubview:self.backCardTitleLabel];
  60. [self.backCardView addSubview:self.backCardSubtitleLabel];
  61. [self.backCardView addSubview:self.backCardImageView];
  62. }
  63. - (void)setupConstraints {
  64. // 提示信息
  65. [self.warningView mas_makeConstraints:^(MASConstraintMaker *make) {
  66. make.left.equalTo(self.contentView).offset(kRealValue(24));
  67. make.right.equalTo(self.contentView).offset(-kRealValue(24));
  68. make.top.equalTo(self.contentView).offset(kRealValue(20));
  69. make.height.mas_equalTo(kRealValue(44));
  70. }];
  71. [self.warningIcon mas_makeConstraints:^(MASConstraintMaker *make) {
  72. make.left.equalTo(self.warningView).offset(kRealValue(12));
  73. make.centerY.equalTo(self.warningView);
  74. make.size.mas_equalTo(CGSizeMake(kRealValue(16), kRealValue(16)));
  75. }];
  76. [self.warningLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  77. make.left.equalTo(self.warningIcon.mas_right).offset(kRealValue(8));
  78. make.right.equalTo(self.warningView).offset(-kRealValue(12));
  79. make.centerY.equalTo(self.warningView);
  80. }];
  81. // 账户名称
  82. [self.accountNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  83. make.left.equalTo(self.contentView).offset(kRealValue(24));
  84. make.top.equalTo(self.warningView.mas_bottom).offset(kRealValue(24));
  85. }];
  86. [self.accountNameTextField mas_makeConstraints:^(MASConstraintMaker *make) {
  87. make.left.equalTo(self.accountNameLabel);
  88. make.right.equalTo(self.contentView).offset(-kRealValue(24));
  89. make.top.equalTo(self.accountNameLabel.mas_bottom).offset(kRealValue(12));
  90. make.height.mas_equalTo(kRealValue(48));
  91. }];
  92. // 账户号码
  93. [self.accountNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  94. make.left.equalTo(self.accountNameLabel);
  95. make.top.equalTo(self.accountNameTextField.mas_bottom).offset(kRealValue(24));
  96. }];
  97. [self.accountNumberTextField mas_makeConstraints:^(MASConstraintMaker *make) {
  98. make.left.equalTo(self.accountNumberLabel);
  99. make.right.equalTo(self.contentView).offset(-kRealValue(24));
  100. make.top.equalTo(self.accountNumberLabel.mas_bottom).offset(kRealValue(12));
  101. make.height.mas_equalTo(kRealValue(48));
  102. }];
  103. // 开户行
  104. [self.bankNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  105. make.left.equalTo(self.accountNameLabel);
  106. make.top.equalTo(self.accountNumberTextField.mas_bottom).offset(kRealValue(24));
  107. }];
  108. [self.bankNameTextField mas_makeConstraints:^(MASConstraintMaker *make) {
  109. make.left.equalTo(self.bankNameLabel);
  110. make.right.equalTo(self.contentView).offset(-kRealValue(24));
  111. make.top.equalTo(self.bankNameLabel.mas_bottom).offset(kRealValue(12));
  112. make.height.mas_equalTo(kRealValue(48));
  113. }];
  114. // 请上传银行卡
  115. [self.uploadBankCardLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  116. make.left.equalTo(self.accountNameLabel);
  117. make.top.equalTo(self.bankNameTextField.mas_bottom).offset(kRealValue(24));
  118. }];
  119. // 正面
  120. [self.frontCardView mas_makeConstraints:^(MASConstraintMaker *make) {
  121. make.left.equalTo(self.uploadBankCardLabel);
  122. make.right.equalTo(self.bankNameTextField);
  123. make.top.equalTo(self.uploadBankCardLabel.mas_bottom).offset(kRealValue(12));
  124. make.height.mas_equalTo(kRealValue(152));
  125. }];
  126. [self.frontCardTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  127. make.left.equalTo(self.frontCardView).offset(kRealValue(12));
  128. make.top.equalTo(self.frontCardView).offset(kRealValue(12));
  129. }];
  130. [self.frontCardSubtitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  131. make.left.equalTo(self.frontCardTitleLabel);
  132. make.right.equalTo(self.frontCardImageView.mas_left).mas_offset(-8);
  133. make.top.equalTo(self.frontCardTitleLabel.mas_bottom).offset(kRealValue(4));
  134. }];
  135. [self.frontCardImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  136. make.right.equalTo(self.frontCardView).inset(kRealValue(16));
  137. make.centerY.equalTo(self.frontCardView);
  138. make.height.mas_equalTo(kRealValue(120));
  139. make.width.mas_equalTo(kRealValue(185));
  140. }];
  141. // 反面
  142. [self.backCardView mas_makeConstraints:^(MASConstraintMaker *make) {
  143. make.left.right.equalTo(self.frontCardView);
  144. make.top.equalTo(self.frontCardView.mas_bottom).offset(kRealValue(16));
  145. make.height.mas_equalTo(kRealValue(152));
  146. make.bottom.equalTo(self.contentView).offset(-kRealValue(20));
  147. }];
  148. [self.backCardTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  149. make.left.equalTo(self.backCardView).offset(kRealValue(12));
  150. make.top.equalTo(self.backCardView).offset(kRealValue(12));
  151. }];
  152. [self.backCardSubtitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  153. make.left.equalTo(self.backCardTitleLabel);
  154. make.right.equalTo(self.backCardImageView.mas_left).mas_offset(-8);
  155. make.top.equalTo(self.backCardTitleLabel.mas_bottom).offset(kRealValue(4));
  156. }];
  157. [self.backCardImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  158. make.right.equalTo(self.backCardView).inset(kRealValue(16));
  159. make.centerY.equalTo(self.backCardView);
  160. make.size.mas_equalTo(self.frontCardImageView);
  161. }];
  162. }
  163. #pragma mark - Actions
  164. - (void)frontCardTapped:(UITapGestureRecognizer *)gesture {
  165. // TODO: 实现银行卡正面图片选择功能
  166. NSLog(@"Bank card front upload tapped");
  167. }
  168. - (void)backCardTapped:(UITapGestureRecognizer *)gesture {
  169. // TODO: 实现银行卡反面图片选择功能
  170. NSLog(@"Bank card back upload tapped");
  171. }
  172. #pragma mark - Lazy Loading
  173. - (UIView *)warningView {
  174. if (!_warningView) {
  175. _warningView = [[UIView alloc] init];
  176. _warningView.backgroundColor = [UIColor colorWithHexString:@"#FFF8E1"];
  177. _warningView.layer.cornerRadius = kRealValue(8);
  178. _warningView.layer.borderWidth = 1;
  179. _warningView.layer.borderColor = [UIColor colorWithHexString:@"#FFD54F"].CGColor;
  180. }
  181. return _warningView;
  182. }
  183. - (UIImageView *)warningIcon {
  184. if (!_warningIcon) {
  185. _warningIcon = [[UIImageView alloc] init];
  186. // 使用系统内置的警告图标,如果找不到自定义图标
  187. UIImage *warningImage = [UIImage imageNamed:@"store_bank_tips"];
  188. _warningIcon.image = warningImage;
  189. _warningIcon.contentMode = UIViewContentModeScaleAspectFit;
  190. _warningIcon.tintColor = [UIColor colorWithHexString:@"#F57C00"];
  191. }
  192. return _warningIcon;
  193. }
  194. - (UILabel *)warningLabel {
  195. if (!_warningLabel) {
  196. _warningLabel = [[UILabel alloc] init];
  197. _warningLabel.text = ASLocalizedString(@"用于收款和缴保证金,请确认账户可以正常交易。");
  198. _warningLabel.font = [UIFont systemFontOfSize:12];
  199. _warningLabel.textColor = [UIColor colorWithHexString:@"#F57C00"];
  200. _warningLabel.numberOfLines = 0;
  201. }
  202. return _warningLabel;
  203. }
  204. - (UILabel *)accountNameLabel {
  205. if (!_accountNameLabel) {
  206. _accountNameLabel = [[UILabel alloc] init];
  207. _accountNameLabel.text = ASLocalizedString(@"账户名称");
  208. _accountNameLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
  209. _accountNameLabel.textColor = [UIColor blackColor];
  210. // 添加红色星号
  211. NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:_accountNameLabel.text];
  212. NSAttributedString *redStar = [[NSAttributedString alloc] initWithString:@" *" attributes:@{
  213. NSForegroundColorAttributeName: [UIColor redColor],
  214. NSFontAttributeName: [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]
  215. }];
  216. [attributedText appendAttributedString:redStar];
  217. _accountNameLabel.attributedText = attributedText;
  218. }
  219. return _accountNameLabel;
  220. }
  221. - (UITextField *)accountNameTextField {
  222. if (!_accountNameTextField) {
  223. _accountNameTextField = [[UITextField alloc] init];
  224. _accountNameTextField.placeholder = ASLocalizedString(@"请输入账户名称");
  225. _accountNameTextField.font = [UIFont systemFontOfSize:16];
  226. _accountNameTextField.textColor = [UIColor blackColor];
  227. _accountNameTextField.backgroundColor = [UIColor whiteColor];
  228. _accountNameTextField.layer.cornerRadius = kRealValue(8);
  229. _accountNameTextField.layer.borderWidth = 1;
  230. _accountNameTextField.layer.borderColor = [UIColor colorWithHexString:@"#E5E5E5"].CGColor;
  231. // 设置内边距
  232. UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  233. _accountNameTextField.leftView = leftView;
  234. _accountNameTextField.leftViewMode = UITextFieldViewModeAlways;
  235. UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  236. _accountNameTextField.rightView = rightView;
  237. _accountNameTextField.rightViewMode = UITextFieldViewModeAlways;
  238. }
  239. return _accountNameTextField;
  240. }
  241. - (UILabel *)accountNumberLabel {
  242. if (!_accountNumberLabel) {
  243. _accountNumberLabel = [[UILabel alloc] init];
  244. _accountNumberLabel.text = ASLocalizedString(@"账户号码");
  245. _accountNumberLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
  246. _accountNumberLabel.textColor = [UIColor blackColor];
  247. // 添加红色星号
  248. NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:_accountNumberLabel.text];
  249. NSAttributedString *redStar = [[NSAttributedString alloc] initWithString:@" *" attributes:@{
  250. NSForegroundColorAttributeName: [UIColor redColor],
  251. NSFontAttributeName: [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]
  252. }];
  253. [attributedText appendAttributedString:redStar];
  254. _accountNumberLabel.attributedText = attributedText;
  255. }
  256. return _accountNumberLabel;
  257. }
  258. - (UITextField *)accountNumberTextField {
  259. if (!_accountNumberTextField) {
  260. _accountNumberTextField = [[UITextField alloc] init];
  261. _accountNumberTextField.placeholder = ASLocalizedString(@"请输入账户号码");
  262. _accountNumberTextField.font = [UIFont systemFontOfSize:16];
  263. _accountNumberTextField.textColor = [UIColor blackColor];
  264. _accountNumberTextField.backgroundColor = [UIColor whiteColor];
  265. _accountNumberTextField.layer.cornerRadius = kRealValue(8);
  266. _accountNumberTextField.layer.borderWidth = 1;
  267. _accountNumberTextField.layer.borderColor = [UIColor colorWithHexString:@"#E5E5E5"].CGColor;
  268. _accountNumberTextField.keyboardType = UIKeyboardTypeNumberPad;
  269. // 设置内边距
  270. UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  271. _accountNumberTextField.leftView = leftView;
  272. _accountNumberTextField.leftViewMode = UITextFieldViewModeAlways;
  273. UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  274. _accountNumberTextField.rightView = rightView;
  275. _accountNumberTextField.rightViewMode = UITextFieldViewModeAlways;
  276. }
  277. return _accountNumberTextField;
  278. }
  279. - (UILabel *)bankNameLabel {
  280. if (!_bankNameLabel) {
  281. _bankNameLabel = [[UILabel alloc] init];
  282. _bankNameLabel.text = ASLocalizedString(@"开户行");
  283. _bankNameLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
  284. _bankNameLabel.textColor = [UIColor blackColor];
  285. // 添加红色星号
  286. NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:_bankNameLabel.text];
  287. NSAttributedString *redStar = [[NSAttributedString alloc] initWithString:@" *" attributes:@{
  288. NSForegroundColorAttributeName: [UIColor redColor],
  289. NSFontAttributeName: [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]
  290. }];
  291. [attributedText appendAttributedString:redStar];
  292. _bankNameLabel.attributedText = attributedText;
  293. }
  294. return _bankNameLabel;
  295. }
  296. - (UITextField *)bankNameTextField {
  297. if (!_bankNameTextField) {
  298. _bankNameTextField = [[UITextField alloc] init];
  299. _bankNameTextField.placeholder = ASLocalizedString(@"请输入开户行");
  300. _bankNameTextField.font = [UIFont systemFontOfSize:16];
  301. _bankNameTextField.textColor = [UIColor blackColor];
  302. _bankNameTextField.backgroundColor = [UIColor whiteColor];
  303. _bankNameTextField.layer.cornerRadius = kRealValue(8);
  304. _bankNameTextField.layer.borderWidth = 1;
  305. _bankNameTextField.layer.borderColor = [UIColor colorWithHexString:@"#E5E5E5"].CGColor;
  306. // 设置内边距
  307. UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  308. _bankNameTextField.leftView = leftView;
  309. _bankNameTextField.leftViewMode = UITextFieldViewModeAlways;
  310. UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kRealValue(16), kRealValue(48))];
  311. _bankNameTextField.rightView = rightView;
  312. _bankNameTextField.rightViewMode = UITextFieldViewModeAlways;
  313. }
  314. return _bankNameTextField;
  315. }
  316. - (UILabel *)uploadBankCardLabel {
  317. if (!_uploadBankCardLabel) {
  318. _uploadBankCardLabel = [[UILabel alloc] init];
  319. _uploadBankCardLabel.text = ASLocalizedString(@"请上传银行卡");
  320. _uploadBankCardLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
  321. _uploadBankCardLabel.textColor = [UIColor blackColor];
  322. // 添加红色星号
  323. NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:_uploadBankCardLabel.text];
  324. NSAttributedString *redStar = [[NSAttributedString alloc] initWithString:@" *" attributes:@{
  325. NSForegroundColorAttributeName: [UIColor redColor],
  326. NSFontAttributeName: [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]
  327. }];
  328. [attributedText appendAttributedString:redStar];
  329. _uploadBankCardLabel.attributedText = attributedText;
  330. }
  331. return _uploadBankCardLabel;
  332. }
  333. - (UIView *)frontCardView {
  334. if (!_frontCardView) {
  335. _frontCardView = [[UIView alloc] init];
  336. _frontCardView.backgroundColor = [UIColor whiteColor];
  337. _frontCardView.layer.cornerRadius = kRealValue(8);
  338. _frontCardView.layer.borderWidth = 1;
  339. _frontCardView.layer.borderColor = [UIColor colorWithHexString:@"#E5E5E5"].CGColor;
  340. // 添加点击手势
  341. UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(frontCardTapped:)];
  342. [_frontCardView addGestureRecognizer:tapGesture];
  343. }
  344. return _frontCardView;
  345. }
  346. - (UILabel *)frontCardTitleLabel {
  347. if (!_frontCardTitleLabel) {
  348. _frontCardTitleLabel = [[UILabel alloc] init];
  349. _frontCardTitleLabel.text = ASLocalizedString(@"正面");
  350. _frontCardTitleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
  351. _frontCardTitleLabel.textColor = [UIColor blackColor];
  352. }
  353. return _frontCardTitleLabel;
  354. }
  355. - (UILabel *)frontCardSubtitleLabel {
  356. if (!_frontCardSubtitleLabel) {
  357. _frontCardSubtitleLabel = [[UILabel alloc] init];
  358. _frontCardSubtitleLabel.text = ASLocalizedString(@"上传银行卡正面");
  359. _frontCardSubtitleLabel.font = [UIFont systemFontOfSize:12];
  360. _frontCardSubtitleLabel.textColor = [UIColor colorWithHexString:@"#999999"];
  361. _frontCardSubtitleLabel.numberOfLines = 2;
  362. }
  363. return _frontCardSubtitleLabel;
  364. }
  365. - (UIImageView *)frontCardImageView {
  366. if (!_frontCardImageView) {
  367. _frontCardImageView = [[UIImageView alloc] init];
  368. // 使用身份证图片作为银行卡示例,或者创建占位图
  369. UIImage *cardImage = [UIImage imageNamed:@"store_bank_front"];
  370. _frontCardImageView.image = cardImage;
  371. _frontCardImageView.contentMode = UIViewContentModeScaleAspectFit;
  372. }
  373. return _frontCardImageView;
  374. }
  375. - (UIView *)backCardView {
  376. if (!_backCardView) {
  377. _backCardView = [[UIView alloc] init];
  378. _backCardView.backgroundColor = [UIColor whiteColor];
  379. _backCardView.layer.cornerRadius = kRealValue(8);
  380. _backCardView.layer.borderWidth = 1;
  381. _backCardView.layer.borderColor = [UIColor colorWithHexString:@"#E5E5E5"].CGColor;
  382. // 添加点击手势
  383. UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(backCardTapped:)];
  384. [_backCardView addGestureRecognizer:tapGesture];
  385. }
  386. return _backCardView;
  387. }
  388. - (UILabel *)backCardTitleLabel {
  389. if (!_backCardTitleLabel) {
  390. _backCardTitleLabel = [[UILabel alloc] init];
  391. _backCardTitleLabel.text = ASLocalizedString(@"反面");
  392. _backCardTitleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
  393. _backCardTitleLabel.textColor = [UIColor blackColor];
  394. }
  395. return _backCardTitleLabel;
  396. }
  397. - (UILabel *)backCardSubtitleLabel {
  398. if (!_backCardSubtitleLabel) {
  399. _backCardSubtitleLabel = [[UILabel alloc] init];
  400. _backCardSubtitleLabel.text = ASLocalizedString(@"上传银行卡反面");
  401. _backCardSubtitleLabel.font = [UIFont systemFontOfSize:12];
  402. _backCardSubtitleLabel.textColor = [UIColor colorWithHexString:@"#999999"];
  403. _backCardSubtitleLabel.numberOfLines = 2;
  404. }
  405. return _backCardSubtitleLabel;
  406. }
  407. - (UIImageView *)backCardImageView {
  408. if (!_backCardImageView) {
  409. _backCardImageView = [[UIImageView alloc] init];
  410. // 使用上传图标作为银行卡反面示例,或者创建占位图
  411. UIImage *cardImage = [UIImage imageNamed:@"store_bank_back"];
  412. _backCardImageView.image = cardImage;
  413. _backCardImageView.contentMode = UIViewContentModeScaleAspectFit;
  414. }
  415. return _backCardImageView;
  416. }
  417. @end