QDSingleImagePickerPreviewViewController.m 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // QDSingleImagePickerPreviewViewController.m
  3. // qmuidemo
  4. //
  5. // Created by QMUI Team on 15/5/17.
  6. // Copyright (c) 2015年 QMUI Team. All rights reserved.
  7. //
  8. #import "QDSingleImagePickerPreviewViewController.h"
  9. @implementation QDSingleImagePickerPreviewViewController {
  10. QMUIButton *_confirmButton;
  11. }
  12. @dynamic delegate;
  13. - (void)initSubviews {
  14. [super initSubviews];
  15. _confirmButton = [[QMUIButton alloc] init];
  16. _confirmButton.qmui_outsideEdge = UIEdgeInsetsMake(-6, -6, -6, -6);
  17. [_confirmButton setTitleColor:self.toolBarTintColor forState:UIControlStateNormal];
  18. [_confirmButton setTitle:@"USE" forState:UIControlStateNormal];
  19. [_confirmButton addTarget:self action:@selector(handleUserAvatarButtonClick:) forControlEvents:UIControlEventTouchUpInside];
  20. [_confirmButton sizeToFit];
  21. [self.topToolBarView addSubview:_confirmButton];
  22. }
  23. - (void)setDownloadStatus:(QMUIAssetDownloadStatus)downloadStatus {
  24. [super setDownloadStatus:downloadStatus];
  25. switch (downloadStatus) {
  26. case QMUIAssetDownloadStatusSucceed:
  27. _confirmButton.hidden = NO;
  28. break;
  29. case QMUIAssetDownloadStatusDownloading:
  30. _confirmButton.hidden = YES;
  31. break;
  32. case QMUIAssetDownloadStatusCanceled:
  33. _confirmButton.hidden = NO;
  34. break;
  35. case QMUIAssetDownloadStatusFailed:
  36. _confirmButton.hidden = YES;
  37. break;
  38. default:
  39. break;
  40. }
  41. }
  42. - (void)viewDidLayoutSubviews {
  43. [super viewDidLayoutSubviews];
  44. _confirmButton.frame = CGRectSetXY(_confirmButton.frame, CGRectGetWidth(self.topToolBarView.frame) - CGRectGetWidth(_confirmButton.frame) - 10, CGRectGetMinY(self.backButton.frame) + CGFloatGetCenter(CGRectGetHeight(self.backButton.frame), CGRectGetHeight(_confirmButton.frame)));
  45. }
  46. - (void)handleUserAvatarButtonClick:(id)sender {
  47. [self.navigationController dismissViewControllerAnimated:YES completion:^(void) {
  48. if (self.delegate && [self.delegate respondsToSelector:@selector(imagePickerPreviewViewController:didSelectImageWithImagesAsset:)]) {
  49. QMUIAsset *imageAsset = [self.imagesAssetArray objectAtIndex:self.imagePreviewView.currentImageIndex];
  50. [self.delegate imagePickerPreviewViewController:self didSelectImageWithImagesAsset:imageAsset];
  51. }
  52. }];
  53. }
  54. @end