BaseViewController.m 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //
  2. // BaseViewController.m
  3. // CommonLibrary
  4. //
  5. // Created by Alexi on 14-1-15.
  6. // Copyright (c) 2014年 CommonLibrary. All rights reserved.
  7. //
  8. #import "BaseViewController.h"
  9. #import <objc/runtime.h>
  10. @interface BaseViewController ()
  11. @end
  12. @implementation BaseViewController
  13. - (void)dealloc
  14. {
  15. DebugLog(@"======>>>>> [%@] %@ 释放成功 <<<<======", [self class], self);
  16. }
  17. - (void)viewDidLoad
  18. {
  19. [super viewDidLoad];
  20. _BuguLive = [GlobalVariables sharedInstance];
  21. _httpsManager = [NetHttpsManager manager];
  22. }
  23. - (void)addTapBlankToHideKeyboardGesture;
  24. {
  25. UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapBlankToHideKeyboard:)];
  26. tap.numberOfTapsRequired = 1;
  27. tap.numberOfTouchesRequired = 1;
  28. [self.view addGestureRecognizer:tap];
  29. }
  30. - (void)onTapBlankToHideKeyboard:(UITapGestureRecognizer *)ges
  31. {
  32. if (ges.state == UIGestureRecognizerStateEnded)
  33. {
  34. [BGUtils closeKeyboard];
  35. }
  36. }
  37. - (void)callImagePickerActionSheet
  38. {
  39. UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:ASLocalizedString(@"取消")destructiveButtonTitle:nil otherButtonTitles:ASLocalizedString(@"拍照"), ASLocalizedString(@"相册"), nil];
  40. actionSheet.cancelButtonIndex = 2;
  41. [actionSheet showInView:self.view];
  42. }
  43. - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
  44. {
  45. if (buttonIndex == actionSheet.cancelButtonIndex)
  46. {
  47. return;
  48. }
  49. UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
  50. imagePicker.delegate = self;
  51. imagePicker.allowsEditing = YES;
  52. if (buttonIndex == 0 && [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
  53. {
  54. imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
  55. }
  56. else if (buttonIndex == 1 && [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
  57. {
  58. imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  59. }
  60. [self presentViewController:imagePicker animated:YES completion:nil];
  61. }
  62. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
  63. {
  64. // self.logoImageView.image = info[UIImagePickerControllerEditedImage];
  65. // isHasLogo = YES;
  66. [picker dismissViewControllerAnimated:YES completion:nil];
  67. // //显示在最上方
  68. // [self.view bringSubviewToFront:_HUD];
  69. }
  70. - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
  71. {
  72. [picker dismissViewControllerAnimated:YES completion:nil];
  73. }
  74. /**
  75. * 懒加载UITableView
  76. *
  77. * @return UITableView
  78. */
  79. - (QMUITableView *)tableView
  80. {
  81. if (_tableView == nil) {
  82. _tableView = [[QMUITableView alloc] initWithFrame:CGRectMake(0, 0, kScreenW, kScreenH - kTopHeight -kTabBarHeight) style:UITableViewStylePlain];
  83. _tableView.separatorColor =kGrayTransparentColor1;
  84. _tableView.separatorInset = UIEdgeInsetsMake(0, 18, 0, 0);
  85. _tableView.estimatedRowHeight = 0;
  86. _tableView.estimatedSectionHeaderHeight = 0;
  87. _tableView.estimatedSectionFooterHeight = 0;
  88. //头部刷新
  89. MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefreshing)];
  90. header.automaticallyChangeAlpha = YES;
  91. header.lastUpdatedTimeLabel.hidden = NO;
  92. _tableView.mj_header = header;
  93. //底部刷新
  94. _tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefreshing)];
  95. // _tableView.contentInset = UIEdgeInsetsMake(0, 0, 30, 0);
  96. // _tableView.mj_footer.ignoredScrollViewContentInsetBottom = 30;
  97. _tableView.backgroundColor=kWhiteColor;
  98. _tableView.scrollsToTop = YES;
  99. _tableView.tableFooterView = [[UIView alloc] init];
  100. }
  101. return _tableView;
  102. }
  103. /**
  104. * 懒加载collectionView
  105. *
  106. * @return collectionView
  107. */
  108. - (UICollectionView *)collectionView
  109. {
  110. if (_collectionView == nil) {
  111. UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
  112. _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, kScreenW , kScreenH - kTopHeight - kTabBarHeight) collectionViewLayout:flow];
  113. MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefreshing)];
  114. header.automaticallyChangeAlpha = YES;
  115. header.lastUpdatedTimeLabel.hidden = NO;
  116. _collectionView.mj_header = header;
  117. //底部刷新
  118. _collectionView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefreshing)];
  119. //#ifdef kiOS11Before
  120. //
  121. //#else
  122. // _collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
  123. // _collectionView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);
  124. // _collectionView.scrollIndicatorInsets = _collectionView.contentInset;
  125. //#endif
  126. _collectionView.backgroundColor=kWhiteColor;
  127. _collectionView.scrollsToTop = YES;
  128. }
  129. return _collectionView;
  130. }
  131. -(void)headerRefreshing{
  132. }
  133. -(void)footerRefreshing{
  134. // [_tableView.mj_footer endRefreshing];
  135. }
  136. @end