Commit 7320753a89d8130ae98a5b395a6ce293150379f5

Authored by zhangxiaowen
1 parent 50cab8fa

no message

CNLiveIntegralModule.podspec
@@ -103,5 +103,8 @@ TODO: 网家家-积分模块. @@ -103,5 +103,8 @@ TODO: 网家家-积分模块.
103 103
104 # 104 #
105 s.dependency 'CNLiveCustomUI' 105 s.dependency 'CNLiveCustomUI'
  106 +
  107 + # 自定义控件
  108 + s.dependency 'CNLiveCustomControl'
106 109
107 end 110 end
CNLiveIntegralModule/Classes/Controller/CNLiveIntegralDetailsController.m
@@ -22,14 +22,14 @@ @@ -22,14 +22,14 @@
22 #import "CNLiveRefreshFooter.h" 22 #import "CNLiveRefreshFooter.h"
23 #import "CNLiveCategory.h" 23 #import "CNLiveCategory.h"
24 #import "CNLiveBaseKit.h" 24 #import "CNLiveBaseKit.h"
  25 +#import "CNLiveNavigationBar.h"
25 26
26 #import "CNLiveIntegralDetailsTableViewCell.h" 27 #import "CNLiveIntegralDetailsTableViewCell.h"
27 #import "CNLiveScoreModel.h" 28 #import "CNLiveScoreModel.h"
28 -#import "CNLiveIntegralNavigationBar.h"  
29 29
30 -@interface CNLiveIntegralDetailsController ()<UITableViewDelegate,UITableViewDataSource,CNLiveIntegralNavigationBarDelegate> 30 +@interface CNLiveIntegralDetailsController ()<UITableViewDelegate,UITableViewDataSource>
31 31
32 -@property (nonatomic, strong) CNLiveIntegralNavigationBar *navigationBar; 32 +@property (nonatomic, strong) CNLiveNavigationBar *navigationBar;
33 33
34 @property (nonatomic, strong) UITableView *tableView; 34 @property (nonatomic, strong) UITableView *tableView;
35 @property (nonatomic, strong) NSMutableArray *data; 35 @property (nonatomic, strong) NSMutableArray *data;
@@ -128,7 +128,6 @@ @@ -128,7 +128,6 @@
128 - (void)createUI { 128 - (void)createUI {
129 [self.view addSubview:self.navigationBar]; 129 [self.view addSubview:self.navigationBar];
130 [self.view addSubview:self.tableView]; 130 [self.view addSubview:self.tableView];
131 -  
132 } 131 }
133 132
134 /* 133 /*
@@ -171,26 +170,24 @@ @@ -171,26 +170,24 @@
171 } 170 }
172 */ 171 */
173 172
174 -#pragma mark - CNLiveIntegralNavigationBarDelegate  
175 -- (void)navigationBar:(CNLiveIntegralNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents{  
176 - if([actionEvents isEqualToString:@"1"]){  
177 - [self.navigationController popViewControllerAnimated:YES];  
178 - }else if([actionEvents isEqualToString:@"2"]){  
179 - [CNLiveUserAgreementManager jumpToAgreementH5WithType:CNLiveUserAgreementIntegralRules];  
180 - }  
181 -}  
182 -  
183 #pragma mark - Lazy loading 173 #pragma mark - Lazy loading
184 -- (CNLiveIntegralNavigationBar *)navigationBar { 174 +- (CNLiveNavigationBar *)navigationBar {
185 if (!_navigationBar) { 175 if (!_navigationBar) {
186 - _navigationBar = [[CNLiveIntegralNavigationBar alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)];  
187 - _navigationBar.backgroundColor = [UIColor whiteColor];  
188 - _navigationBar.delegate = self; 176 + _navigationBar = [CNLiveNavigationBar navigationBar];
189 _navigationBar.title.text = @"积分明细"; 177 _navigationBar.title.text = @"积分明细";
190 - [_navigationBar.right setTitle:@"积分规则" forState:UIControlStateNormal]; 178 + _navigationBar.rightTitle = @"积分规则";
191 [_navigationBar.right setTitleColor:[UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1.0] forState:UIControlStateNormal]; 179 [_navigationBar.right setTitleColor:[UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1.0] forState:UIControlStateNormal];
192 _navigationBar.right.titleLabel.font = [UIFont systemFontOfSize:16.0]; 180 _navigationBar.right.titleLabel.font = [UIFont systemFontOfSize:16.0];
193 _navigationBar.right.frame = CGRectMake(SCREEN_WIDTH-80-15, StatusBarHeight, 80, NavigationBarHeight); 181 _navigationBar.right.frame = CGRectMake(SCREEN_WIDTH-80-15, StatusBarHeight, 80, NavigationBarHeight);
  182 + __weak typeof(self) weakSelf = self;
  183 + _navigationBar.onClickLeftButton = ^{
  184 + __strong typeof(weakSelf) strongSelf = weakSelf;
  185 + if(!strongSelf) return ;
  186 + [strongSelf.navigationController popViewControllerAnimated:YES];
  187 + };
  188 + _navigationBar.onClickRightButton = ^{
  189 + [CNLiveUserAgreementManager jumpToAgreementH5WithType:CNLiveUserAgreementIntegralRules];
  190 + };
194 } 191 }
195 return _navigationBar; 192 return _navigationBar;
196 } 193 }
CNLiveIntegralModule/Classes/Controller/CNLiveTaskListController.m
@@ -35,18 +35,18 @@ @@ -35,18 +35,18 @@
35 //#import "CNFirendNewListViewController.h"//生活圈 35 //#import "CNFirendNewListViewController.h"//生活圈
36 //#import "CNReportAndComplaintWebController.h"//帮助与反馈 36 //#import "CNReportAndComplaintWebController.h"//帮助与反馈
37 //#import "CNGifFaceListHeaderView.h" 37 //#import "CNGifFaceListHeaderView.h"
  38 +#import "CNLiveNavigationBar.h"
  39 +
38 #import "CNLiveTaskListHeaderView.h" 40 #import "CNLiveTaskListHeaderView.h"
39 #import "CNLiveIntegralDetailsController.h"//积分明细 41 #import "CNLiveIntegralDetailsController.h"//积分明细
40 #import "CNLiveAddScoreManager.h" 42 #import "CNLiveAddScoreManager.h"
41 43
42 @interface CNLiveTaskListController ()<UITableViewDelegate,UITableViewDataSource,CNLiveTaskListTableViewCellDelegate,CNLiveTaskListHeaderViewDelegate> 44 @interface CNLiveTaskListController ()<UITableViewDelegate,UITableViewDataSource,CNLiveTaskListTableViewCellDelegate,CNLiveTaskListHeaderViewDelegate>
  45 +@property (nonatomic, strong) CNLiveNavigationBar *navigationBar;
43 @property (nonatomic, strong) UITableView *tableView; 46 @property (nonatomic, strong) UITableView *tableView;
44 @property (nonatomic, strong) CNLiveTaskListHeaderView *headView; 47 @property (nonatomic, strong) CNLiveTaskListHeaderView *headView;
45 @property (nonatomic, strong) NSMutableArray *data; 48 @property (nonatomic, strong) NSMutableArray *data;
46 49
47 -@property (nonatomic, strong) UIButton *backButton;  
48 -@property (nonatomic, strong) UILabel *titleLabel;  
49 -  
50 @end 50 @end
51 51
52 @implementation CNLiveTaskListController 52 @implementation CNLiveTaskListController
@@ -217,9 +217,8 @@ @@ -217,9 +217,8 @@
217 217
218 #pragma mark - UI 218 #pragma mark - UI
219 - (void)createUI { 219 - (void)createUI {
220 - [self.headView addSubview:self.backButton];  
221 - [self.headView addSubview:self.titleLabel];  
222 [self.view addSubview:self.headView]; 220 [self.view addSubview:self.headView];
  221 + [self.view addSubview:self.navigationBar];
223 [self.view addSubview:self.tableView]; 222 [self.view addSubview:self.tableView];
224 223
225 } 224 }
@@ -321,37 +320,8 @@ @@ -321,37 +320,8 @@
321 */ 320 */
322 321
323 #pragma mark - Action 322 #pragma mark - Action
324 -- (void)backDidClicked:(UIButton *)btn{  
325 - [self.navigationController popViewControllerAnimated:YES];  
326 -  
327 -}  
328 323
329 #pragma mark - Lazy loading 324 #pragma mark - Lazy loading
330 -- (UIButton *)backButton {  
331 - if (!_backButton) {  
332 - _backButton = [UIButton buttonWithType:UIButtonTypeCustom];  
333 - _backButton.adjustsImageWhenHighlighted = NO;  
334 - _backButton.frame = CGRectMake(15, StatusBarHeight, 44, 44);  
335 - [_backButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];  
336 - UIImage *image = [self getImageWithImageName:@"mine_back_white_b" bundleName:@"CNLiveIntegralModule" targetClass:[self class]];  
337 - [_backButton setImage:image forState:UIControlStateNormal];  
338 - [_backButton addTarget:self action:@selector(backDidClicked:) forControlEvents:UIControlEventTouchUpInside];  
339 - }  
340 - return _backButton;  
341 -}  
342 -  
343 -- (UILabel *)titleLabel{  
344 - if (!_titleLabel) {  
345 - _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, StatusBarHeight, 120, 44)];  
346 - _titleLabel.centerX = self.view.centerX;  
347 - _titleLabel.text = @"任务列表";  
348 - _titleLabel.font = [UIFont systemFontOfSize:18.0];  
349 - _titleLabel.textColor = [UIColor whiteColor];  
350 - _titleLabel.textAlignment = NSTextAlignmentCenter;  
351 - }  
352 - return _titleLabel;  
353 -}  
354 -  
355 - (UITableView *)tableView { 325 - (UITableView *)tableView {
356 if (!_tableView) { 326 if (!_tableView) {
357 _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; 327 _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
@@ -386,9 +356,30 @@ @@ -386,9 +356,30 @@
386 return _headView; 356 return _headView;
387 } 357 }
388 358
  359 +- (CNLiveNavigationBar *)navigationBar {
  360 + if (!_navigationBar) {
  361 + _navigationBar = [CNLiveNavigationBar navigationBar];
  362 + _navigationBar.backgroundColor = [UIColor clearColor];
  363 + UIImage *image = [self getImageWithImageName:@"cnlive_back_white_b" bundleName:@"CNLiveCustomControl" targetClass:[CNLiveNavigationBar class]];
  364 + _navigationBar.leftImage = image;
  365 +
  366 + _navigationBar.title.text = @"任务列表";
  367 + _navigationBar.title.textColor = [UIColor whiteColor];
  368 + _navigationBar.lineHidden = YES;
  369 +
  370 + __weak typeof(self) weakSelf = self;
  371 + _navigationBar.onClickLeftButton = ^{
  372 + __strong typeof(weakSelf) strongSelf = weakSelf;
  373 + if(!strongSelf) return ;
  374 + [strongSelf.navigationController popViewControllerAnimated:YES];
  375 + };
  376 +
  377 + }
  378 + return _navigationBar;
  379 +}
  380 +
389 - (UIStatusBarStyle)preferredStatusBarStyle{ 381 - (UIStatusBarStyle)preferredStatusBarStyle{
390 return UIStatusBarStyleLightContent; 382 return UIStatusBarStyleLightContent;
391 } 383 }
392 384
393 -  
394 @end 385 @end
CNLiveIntegralModule/Classes/View/CNLiveIntegralNavigationBar.h deleted 100644 → 0
1 -//  
2 -// CNLiveIntegralNavigationBar.h  
3 -// CNLiveIntegralModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright © 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -#import <UIKit/UIKit.h>  
10 -  
11 -NS_ASSUME_NONNULL_BEGIN  
12 -  
13 -@class CNLiveIntegralNavigationBar;  
14 -  
15 -@protocol CNLiveIntegralNavigationBarDelegate <NSObject>  
16 -- (void)navigationBar:(CNLiveIntegralNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents;  
17 -  
18 -@end  
19 -  
20 -@interface CNLiveIntegralNavigationBar : UIView  
21 -@property (nonatomic, weak) id<CNLiveIntegralNavigationBarDelegate> delegate;  
22 -@property (nonatomic, strong) UIView *navView;  
23 -@property (nonatomic, strong) UIButton *left;  
24 -@property (nonatomic, strong) UILabel *title;  
25 -@property (nonatomic, strong, nullable) UIButton *right;  
26 -  
27 -  
28 -@end  
29 -  
30 -NS_ASSUME_NONNULL_END  
CNLiveIntegralModule/Classes/View/CNLiveIntegralNavigationBar.m deleted 100644 → 0
1 -//  
2 -// CNLiveIntegralNavigationBar.m  
3 -// CNLiveIntegralModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright © 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -#import "CNLiveIntegralNavigationBar.h"  
10 -#import "QMUIKit.h"  
11 -#import "CNLiveCategory.h"  
12 -  
13 -@interface CNLiveIntegralNavigationBar ()  
14 -  
15 -@end  
16 -  
17 -@implementation CNLiveIntegralNavigationBar  
18 -static const NSInteger margin = 15;  
19 -  
20 -- (instancetype)initWithFrame:(CGRect)frame{  
21 - self = [super initWithFrame:frame];  
22 - if(self){  
23 - self.userInteractionEnabled = YES;  
24 - self.backgroundColor = [UIColor clearColor];  
25 - [self createSubViews];  
26 - }  
27 - return self;  
28 -}  
29 -  
30 -- (void)dealloc {  
31 - NSLog(@"CNLiveIntegralNavigationBar -- dealloc");  
32 -}  
33 -  
34 -- (void)createSubViews {  
35 - [self addSubview:self.navView];  
36 - [self addSubview:self.left];  
37 - [self addSubview:self.title];  
38 - [self addSubview:self.right];  
39 -}  
40 -  
41 -/*  
42 - // Only override drawRect: if you perform custom drawing.  
43 - // An empty implementation adversely affects performance during animation.  
44 - - (void)drawRect:(CGRect)rect {  
45 - // Drawing code  
46 - }  
47 - */  
48 -  
49 -#pragma mark - 懒加载  
50 -- (UIView *)navView {  
51 - if (!_navView) {  
52 - _navView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)];  
53 - _navView.backgroundColor = [UIColor clearColor];  
54 - }  
55 - return _navView;  
56 -}  
57 -  
58 -- (UIButton *)left {  
59 - if (!_left) {  
60 - _left= [UIButton buttonWithType:UIButtonTypeCustom];  
61 - _left.adjustsImageWhenHighlighted = NO;  
62 - _left.frame = CGRectMake(margin, StatusBarHeight, NavigationBarHeight, NavigationBarHeight);  
63 - UIImage *image = [self getImageWithImageName:@"code_back_black_b" bundleName:@"CNLiveIntegralModule" targetClass:[self class]];  
64 - [_left setImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];  
65 - [_left setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];  
66 - [_left addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];  
67 - }  
68 - return _left;  
69 -}  
70 -  
71 -- (UILabel *)title {  
72 - if (!_title) {  
73 - _title = [[UILabel alloc] initWithFrame:CGRectMake(margin+NavigationBarHeight, StatusBarHeight, SCREEN_WIDTH-2*(margin+NavigationBarHeight), NavigationBarHeight)];  
74 - [_title setFont:[UIFont systemFontOfSize:18]];  
75 - _title.textColor = [UIColor blackColor];  
76 - _title.textAlignment = NSTextAlignmentCenter;  
77 - }  
78 - return _title;  
79 -}  
80 -  
81 -- (UIButton *)right {  
82 - if (!_right) {  
83 - _right = [UIButton buttonWithType:UIButtonTypeCustom];  
84 - _right.frame = CGRectMake(SCREEN_WIDTH-50-margin, StatusBarHeight, 50, NavigationBarHeight);  
85 - [_right setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];  
86 - _right.adjustsImageWhenHighlighted = NO;  
87 - _right.titleLabel.font = [UIFont systemFontOfSize:15];  
88 - [_right setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];  
89 - [_right addTarget:self action:@selector(rightDidClicked:) forControlEvents:UIControlEventTouchUpInside];  
90 - }  
91 - return _right;  
92 -}  
93 -  
94 -#pragma mark - 响应方法  
95 -- (void)goBack{  
96 - if (self.delegate && [self.delegate respondsToSelector:@selector(navigationBar:actionEvents:)]) {  
97 - [self.delegate navigationBar:self actionEvents:@"1"];  
98 - }  
99 -}  
100 -  
101 -- (void)rightDidClicked:(UIButton *)btn{  
102 - if (self.delegate && [self.delegate respondsToSelector:@selector(navigationBar:actionEvents:)]) {  
103 - [self.delegate navigationBar:self actionEvents:@"2"];  
104 - }  
105 -}  
106 -  
107 -@end  
108 -  
Example/CNLiveIntegralModule.xcodeproj/project.pbxproj
@@ -332,6 +332,7 @@ @@ -332,6 +332,7 @@
332 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", 332 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework",
333 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework", 333 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework",
334 "${BUILT_PRODUCTS_DIR}/CNLiveCommonClass/CNLiveCommonClass.framework", 334 "${BUILT_PRODUCTS_DIR}/CNLiveCommonClass/CNLiveCommonClass.framework",
  335 + "${BUILT_PRODUCTS_DIR}/CNLiveCustomControl/CNLiveCustomControl.framework",
335 "${BUILT_PRODUCTS_DIR}/CNLiveCustomUI/CNLiveCustomUI.framework", 336 "${BUILT_PRODUCTS_DIR}/CNLiveCustomUI/CNLiveCustomUI.framework",
336 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", 337 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework",
337 "${BUILT_PRODUCTS_DIR}/CNLiveIntegralModule/CNLiveIntegralModule.framework", 338 "${BUILT_PRODUCTS_DIR}/CNLiveIntegralModule/CNLiveIntegralModule.framework",
@@ -354,6 +355,7 @@ @@ -354,6 +355,7 @@
354 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", 355 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework",
355 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework", 356 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework",
356 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonClass.framework", 357 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonClass.framework",
  358 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomControl.framework",
357 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomUI.framework", 359 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomUI.framework",
358 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", 360 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework",
359 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveIntegralModule.framework", 361 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveIntegralModule.framework",