Commit 6b3bcfc47ef560fdb6247f6f3b0502d3aff1c3b0

Authored by zhangxiaowen
1 parent b19ee7ec

no message

CNLiveMineModule/Assets/CNLiveMineModule.xcassets/mine_info_set.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "idiom" : "universal",
  9 + "filename" : "mine_info_set@2x.png",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "idiom" : "universal",
  14 + "filename" : "mine_info_set@3x.png",
  15 + "scale" : "3x"
  16 + }
  17 + ],
  18 + "info" : {
  19 + "version" : 1,
  20 + "author" : "xcode"
  21 + }
  22 +}
0 \ No newline at end of file 23 \ No newline at end of file
CNLiveMineModule/Assets/CNLiveMineModule.xcassets/mine_info_set.imageset/mine_info_set@2x.png 0 → 100644

1.15 KB

CNLiveMineModule/Assets/CNLiveMineModule.xcassets/mine_info_set.imageset/mine_info_set@3x.png 0 → 100644

1.3 KB

CNLiveMineModule/Classes/Module/CNLiveMineService.m
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 #import "CNLiveMineService.h" 9 #import "CNLiveMineService.h"
10 #import "CNLiveServices.h" 10 #import "CNLiveServices.h"
11 #import "CNLiveMineController.h" 11 #import "CNLiveMineController.h"
  12 +#import "CNLiveUserInfoController.h"
12 13
13 @BeeHiveService(CNLiveMineServiceProtocol,CNLiveMineService) 14 @BeeHiveService(CNLiveMineServiceProtocol,CNLiveMineService)
14 @interface CNLiveMineService ()<CNLiveMineServiceProtocol> 15 @interface CNLiveMineService ()<CNLiveMineServiceProtocol>
@@ -19,7 +20,6 @@ @@ -19,7 +20,6 @@
19 20
20 // 我的 21 // 我的
21 - (UIViewController *)getMineViewController { 22 - (UIViewController *)getMineViewController {
22 -  
23 return [CNLiveMineController new]; 23 return [CNLiveMineController new];
24 } 24 }
25 25
@@ -28,6 +28,16 @@ @@ -28,6 +28,16 @@
28 // [CNLivePageJumpManager pushViewController:vc]; 28 // [CNLivePageJumpManager pushViewController:vc];
29 } 29 }
30 30
  31 +// 个人资料
  32 +- (UIViewController *)getUserInfoViewController {
  33 + return [CNLiveUserInfoController new];
  34 +}
  35 +
  36 +- (void)pushToUserInfoViewController {
  37 + CNLiveUserInfoController *vc = [[CNLiveUserInfoController alloc]init];
  38 +// [CNLivePageJumpManager pushViewController:vc];
  39 +}
  40 +
31 41
32 42
33 // 积分 43 // 积分
CNLiveMineModule/Classes/UserInfo/CNLiveInfoUpdateController.m
@@ -8,14 +8,17 @@ @@ -8,14 +8,17 @@
8 8
9 #import "CNLiveInfoUpdateController.h" 9 #import "CNLiveInfoUpdateController.h"
10 #import "QMUIKit.h" 10 #import "QMUIKit.h"
  11 +#import <SDWebImage/SDWebImage.h>
11 12
12 #import "CNLiveUserInfoModel.h" 13 #import "CNLiveUserInfoModel.h"
13 #import "CNLiveUserInfoNotification.h" 14 #import "CNLiveUserInfoNotification.h"
14 #import "CNLiveUserInfoNavigationBar.h" 15 #import "CNLiveUserInfoNavigationBar.h"
15 16
16 -@interface CNLiveInfoUpdateController ()<UITextFieldDelegate,UITextViewDelegate,CNLiveUserInfoNavigationBarDelegate> 17 +@interface CNLiveInfoUpdateController ()<UITextFieldDelegate,UITextViewDelegate,CNLiveUserInfoNavigationBarDelegate,QMUIAlertControllerDelegate>
17 @property (nonatomic, strong) CNLiveUserInfoNavigationBar *navigationBar; 18 @property (nonatomic, strong) CNLiveUserInfoNavigationBar *navigationBar;
18 @property (nonatomic, strong) CNLiveUserInfoModel *model; 19 @property (nonatomic, strong) CNLiveUserInfoModel *model;
  20 +
  21 +@property (nonatomic, strong) UIImageView *imageView;
19 @property (nonatomic, weak) UITextField *textField; 22 @property (nonatomic, weak) UITextField *textField;
20 @property (nonatomic, weak) UITextView *textView; 23 @property (nonatomic, weak) UITextView *textView;
21 24
@@ -23,6 +26,7 @@ @@ -23,6 +26,7 @@
23 26
24 @implementation CNLiveInfoUpdateController 27 @implementation CNLiveInfoUpdateController
25 static const NSInteger margin = 15; 28 static const NSInteger margin = 15;
  29 +static const CGFloat timeValue = 1.5;
26 30
27 #pragma mark - 初始化方法 31 #pragma mark - 初始化方法
28 - (instancetype)initWithModel:(CNLiveUserInfoModel *)model{ 32 - (instancetype)initWithModel:(CNLiveUserInfoModel *)model{
@@ -55,6 +59,12 @@ static const NSInteger margin = 15; @@ -55,6 +59,12 @@ static const NSInteger margin = 15;
55 } 59 }
56 [self.view addSubview:self.navigationBar]; 60 [self.view addSubview:self.navigationBar];
57 switch (self.model.dataType) { 61 switch (self.model.dataType) {
  62 + case CNLiveUserInfoDataTypeHead:
  63 + {
  64 + self.navigationBar.title.text = @"个人头像";
  65 + [self image_layoutSubViews];
  66 + }
  67 + break;
58 case CNLiveUserInfoDataTypeNickname: 68 case CNLiveUserInfoDataTypeNickname:
59 { 69 {
60 self.navigationBar.title.text = @"设置昵称"; 70 self.navigationBar.title.text = @"设置昵称";
@@ -92,12 +102,27 @@ static const NSInteger margin = 15; @@ -92,12 +102,27 @@ static const NSInteger margin = 15;
92 102
93 } 103 }
94 104
  105 +#pragma mark - 更新头像
  106 +- (void)image_layoutSubViews {
  107 + self.view.backgroundColor = [UIColor blackColor];
  108 +
  109 + UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH)];
  110 + imageView.center = self.view.center;
  111 + imageView.backgroundColor = [UIColor whiteColor];// 设置背景颜色
  112 + UIImage *xw_image = [self xw_getImageName:@"default_avatar_f" bundleName:@"CNLiveMineModule" targetClass:[CNLiveInfoUpdateController class]];
  113 + [imageView sd_setImageWithURL:[NSURL URLWithString:@"头像"] placeholderImage:xw_image];
  114 + [self.view addSubview:imageView];
  115 + self.imageView = imageView;
  116 +
  117 +}
  118 +
  119 +#pragma mark - 更新昵称/地区
95 - (void)textField_layoutSubViews { 120 - (void)textField_layoutSubViews {
96 - UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, 50)]; 121 + UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, NavigationContentTop+margin, SCREEN_WIDTH, 50)];
97 bgView.backgroundColor = [UIColor whiteColor]; 122 bgView.backgroundColor = [UIColor whiteColor];
98 [self.view addSubview:bgView]; 123 [self.view addSubview:bgView];
99 124
100 - UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(margin, NavigationContentTop, SCREEN_WIDTH-2*margin, 50)]; 125 + UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(margin, NavigationContentTop+margin, SCREEN_WIDTH-2*margin, 50)];
101 textField.delegate = self; 126 textField.delegate = self;
102 textField.backgroundColor = [UIColor whiteColor];// 设置背景颜色 127 textField.backgroundColor = [UIColor whiteColor];// 设置背景颜色
103 textField.textColor = [UIColor blackColor]; // 设置文字的颜色 128 textField.textColor = [UIColor blackColor]; // 设置文字的颜色
@@ -110,12 +135,13 @@ static const NSInteger margin = 15; @@ -110,12 +135,13 @@ static const NSInteger margin = 15;
110 135
111 } 136 }
112 137
  138 +#pragma mark - 更新个性签名
113 - (void)textView_layoutSubViews { 139 - (void)textView_layoutSubViews {
114 - UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, 150)]; 140 + UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, NavigationContentTop+margin, SCREEN_WIDTH, 150)];
115 bgView.backgroundColor = [UIColor whiteColor]; 141 bgView.backgroundColor = [UIColor whiteColor];
116 [self.view addSubview:bgView]; 142 [self.view addSubview:bgView];
117 143
118 - UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(margin, NavigationContentTop, SCREEN_WIDTH-2*margin, 150)]; 144 + UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(margin, NavigationContentTop+margin, SCREEN_WIDTH-2*margin, 150)];
119 textView.delegate = self; 145 textView.delegate = self;
120 textView.backgroundColor = [UIColor whiteColor];// 设置背景颜色 146 textView.backgroundColor = [UIColor whiteColor];// 设置背景颜色
121 textView.textColor = [UIColor blackColor]; // 设置文字的颜色 147 textView.textColor = [UIColor blackColor]; // 设置文字的颜色
@@ -163,22 +189,138 @@ static const NSInteger margin = 15; @@ -163,22 +189,138 @@ static const NSInteger margin = 15;
163 - (void)textViewDidChange:(UITextView *)textView{ 189 - (void)textViewDidChange:(UITextView *)textView{
164 190
165 } 191 }
  192 +#pragma mark - 私有方法
  193 +// 修改头像
  194 +- (void)updateHeaderActionSheetView{
  195 + __weak typeof(self) weakSelf = self;
  196 + QMUIAlertAction *action1 = [QMUIAlertAction actionWithTitle:@"拍照" style:QMUIAlertActionStyleDefault handler:^(__kindof QMUIAlertController *aAlertController, QMUIAlertAction *action) {
  197 + __strong typeof(weakSelf) strongSelf = weakSelf;
  198 + if(!strongSelf) return ;
  199 +
  200 + self.navigationBar.right.userInteractionEnabled = YES;
  201 + }];
  202 + QMUIAlertAction *action2 = [QMUIAlertAction actionWithTitle:@"从手机相册中选择" style:QMUIAlertActionStyleDefault handler:^(__kindof QMUIAlertController *aAlertController, QMUIAlertAction *action) {
  203 + __strong typeof(weakSelf) strongSelf = weakSelf;
  204 + if(!strongSelf) return ;
  205 + self.navigationBar.right.userInteractionEnabled = YES;
166 206
167 -#pragma mark - 响应方法  
168 -//回退goBack  
169 -- (void)goBack {  
170 - if (self.presentingViewController != nil) {  
171 - [self dismissViewControllerAnimated:YES completion:nil]; 207 + }];
  208 + QMUIAlertAction *action3 = [QMUIAlertAction actionWithTitle:@"保存图片" style:QMUIAlertActionStyleDefault handler:^(__kindof QMUIAlertController *aAlertController, QMUIAlertAction *action) {
  209 + __strong typeof(weakSelf) strongSelf = weakSelf;
  210 + if(!strongSelf) return ;
  211 + [strongSelf getPHAuthorizationStatus:^{
  212 + UIImage *image = [strongSelf generateImage:strongSelf.imageView];
  213 + [QMUITips showLoadingInView:strongSelf.view];
  214 + [strongSelf saveImage:image];
  215 + [QMUITips hideAllTipsInView:strongSelf.view];
  216 + }];
  217 + self.navigationBar.right.userInteractionEnabled = YES;
  218 +
  219 + }];
  220 + QMUIAlertAction *cancel = [QMUIAlertAction actionWithTitle:@"取消" style:QMUIAlertActionStyleCancel handler:^(__kindof QMUIAlertController *aAlertController, QMUIAlertAction *action) {
  221 + __strong typeof(weakSelf) strongSelf = weakSelf;
  222 + if(!strongSelf) return ;
  223 + self.navigationBar.right.userInteractionEnabled = YES;
  224 +
  225 + }];
  226 +
  227 + QMUIAlertController *alertController = [QMUIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:QMUIAlertControllerStyleActionSheet];
  228 + alertController.delegate = self;
  229 + [alertController addAction:action1];
  230 + [alertController addAction:action2];
  231 + [alertController addAction:action3];
  232 + [alertController addAction:cancel];
  233 +
  234 + NSMutableDictionary *titleAttributs = [[NSMutableDictionary alloc] initWithDictionary:alertController.alertTitleAttributes];
  235 +
  236 + titleAttributs[NSForegroundColorAttributeName] = [UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0];
  237 +
  238 + NSMutableDictionary *cancelAttributs = [[NSMutableDictionary alloc] initWithDictionary:alertController.alertTitleAttributes];
  239 + cancelAttributs[NSForegroundColorAttributeName] = [UIColor colorWithRed:51/255.0 green:51/255.0 blue:51/255.0 alpha:1.0];
  240 +
  241 + action1.buttonAttributes = titleAttributs;
  242 + action2.buttonAttributes = titleAttributs;
  243 + action3.buttonAttributes = titleAttributs;
  244 + cancel.buttonAttributes = cancelAttributs;
  245 +
  246 + [alertController showWithAnimated:YES];
  247 +}
  248 +
  249 +// 更新头像
  250 +- (void)requestUpdateUserHeader:(UIImage *)image{
  251 + // 数据请求更新
  252 +
  253 +}
  254 +- (void)getPHAuthorizationStatus:(void (^)(void))block{
  255 + // 1.获取当前App的相册授权状态
  256 + PHAuthorizationStatus authorizationStatus = [PHPhotoLibrary authorizationStatus];
  257 +
  258 + // 2.判断授权状态
  259 + if (authorizationStatus == PHAuthorizationStatusAuthorized) {
  260 + // 2.1 如果已经授权, 保存图片(调用步骤2的方法)
  261 + block();
  262 +
  263 + } else if (authorizationStatus == PHAuthorizationStatusNotDetermined) { // 如果没决定, 弹出指示框, 让用户选择
  264 + [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
  265 + // 如果用户选择授权, 则保存图片
  266 + if (status == PHAuthorizationStatusAuthorized) {
  267 + dispatch_async(dispatch_get_main_queue(), ^{
  268 + block();
  269 + });
  270 + }
  271 + }];
  272 +
  273 + } else {
  274 + NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
  275 + NSString *app_Name = [infoDict objectForKey:@"CFBundleDisplayName"];
  276 + if (app_Name == nil) {
  277 + app_Name = [infoDict objectForKey:@"CFBundleName"];
  278 + }
  279 + NSString *messageString = [NSString stringWithFormat:@"请在iPhone的\"设置 - 隐私 - 相机\"选项中,允许%@访问你的相册", app_Name];
  280 + UIAlertController *alertC = [UIAlertController alertControllerWithTitle:nil message:messageString preferredStyle:(UIAlertControllerStyleAlert)];
  281 + UIAlertAction *alertA = [UIAlertAction actionWithTitle:@"好" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
  282 +
  283 + }];
  284 +
  285 + [alertC addAction:alertA];
  286 + [self presentViewController:alertC animated:YES completion:nil];
172 } 287 }
173 - else {  
174 - [self.navigationController popViewControllerAnimated:YES]; 288 +}
  289 +
  290 +// 保存图片
  291 +- (void)saveImage:(UIImage *)image{
  292 + if(!image){
  293 + [QMUITips showError:@"保存失败" inView:self.view hideAfterDelay:timeValue];
  294 + return;
175 } 295 }
  296 + [[PHPhotoLibrary sharedPhotoLibrary]performChanges:^{
  297 + [PHAssetChangeRequest creationRequestForAssetFromImage:image];
  298 +
  299 + } completionHandler:^(BOOL success, NSError * _Nullable error) {
  300 + dispatch_async(dispatch_get_main_queue(), ^{
  301 + if (success) {
  302 + [QMUITips showSucceed:@"保存成功" inView:self.view hideAfterDelay:timeValue];
  303 + } else {
  304 + [QMUITips showError:@"保存失败" inView:self.view hideAfterDelay:timeValue];
  305 + }
  306 + });
  307 +
  308 + }];
176 } 309 }
177 -- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {  
178 - [self.view endEditing:YES]; 310 +// UIView转UIImage
  311 +- (UIImage *)generateImage:(UIView *)view{
  312 + // 1.开启上下文
  313 + UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
  314 + // 2. 将控制器View的Layer渲染到上下文
  315 + [view.layer renderInContext:UIGraphicsGetCurrentContext()];
  316 + // 3.取出图片
  317 + UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
  318 + // 4.结束上下文
  319 + UIGraphicsEndImageContext();
  320 +
  321 + return newImage;
179 } 322 }
180 323
181 -#pragma mark - 私有方法  
182 - (void)requestUpdateUserInfo:(NSString *)info{ 324 - (void)requestUpdateUserInfo:(NSString *)info{
183 // 数据请求更新 325 // 数据请求更新
184 326
@@ -218,11 +360,32 @@ static const NSInteger margin = 15; @@ -218,11 +360,32 @@ static const NSInteger margin = 15;
218 360
219 } 361 }
220 362
  363 +#pragma mark - 响应方法
  364 +//回退goBack
  365 +- (void)goBack {
  366 + if (self.presentingViewController != nil) {
  367 + [self dismissViewControllerAnimated:YES completion:nil];
  368 + }
  369 + else {
  370 + [self.navigationController popViewControllerAnimated:YES];
  371 + }
  372 +}
  373 +- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
  374 + [self.view endEditing:YES];
  375 +}
  376 +
  377 +#pragma mark - CNLiveUserInfoNavigationBarDelegate
221 - (void)navigationBar:(CNLiveUserInfoNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents{ 378 - (void)navigationBar:(CNLiveUserInfoNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents{
222 if ([actionEvents isEqualToString:@"1"]) { 379 if ([actionEvents isEqualToString:@"1"]) {
223 [self goBack]; 380 [self goBack];
224 }else if ([actionEvents isEqualToString:@"2"]){ 381 }else if ([actionEvents isEqualToString:@"2"]){
225 switch (self.model.dataType) { 382 switch (self.model.dataType) {
  383 + case CNLiveUserInfoDataTypeHead://头像
  384 + {
  385 + self.navigationBar.right.userInteractionEnabled = NO;
  386 + [self updateHeaderActionSheetView];
  387 + }
  388 + break;
226 case CNLiveUserInfoDataTypeNickname://昵称 389 case CNLiveUserInfoDataTypeNickname://昵称
227 case CNLiveUserInfoDataTypeAddress://地区 390 case CNLiveUserInfoDataTypeAddress://地区
228 { 391 {
@@ -240,24 +403,60 @@ static const NSInteger margin = 15; @@ -240,24 +403,60 @@ static const NSInteger margin = 15;
240 } 403 }
241 } 404 }
242 } 405 }
  406 +
  407 +- (void)didHideAlertController:(QMUIAlertController *)alertController{
  408 + self.navigationBar.right.userInteractionEnabled = YES;
  409 +
  410 +}
  411 +
243 #pragma mark - 懒加载 412 #pragma mark - 懒加载
244 - (CNLiveUserInfoNavigationBar *)navigationBar { 413 - (CNLiveUserInfoNavigationBar *)navigationBar {
245 if (!_navigationBar) { 414 if (!_navigationBar) {
246 _navigationBar = [[CNLiveUserInfoNavigationBar alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)]; 415 _navigationBar = [[CNLiveUserInfoNavigationBar alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)];
  416 + _navigationBar.backgroundColor = [UIColor whiteColor];
247 _navigationBar.delegate = self; 417 _navigationBar.delegate = self;
248 - _navigationBar.title.text = @"个人资料";  
249 - _navigationBar.right.frame = CGRectMake(SCREEN_WIDTH-44-15, StatusBarHeight+10, 44, 24);  
250 - [_navigationBar.right setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];  
251 - _navigationBar.right.backgroundColor = [UIColor lightGrayColor];  
252 - _navigationBar.right.userInteractionEnabled = NO;  
253 - _navigationBar.right.titleLabel.font = [UIFont boldSystemFontOfSize:14];  
254 - [_navigationBar.right setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];  
255 - [_navigationBar.right setTitle:@"完成" forState:UIControlStateNormal];  
256 - _navigationBar.right.adjustsImageWhenHighlighted = NO;  
257 - _navigationBar.right.layer.masksToBounds = YES;  
258 - _navigationBar.right.layer.cornerRadius = 5; 418 + switch (self.model.dataType) {
  419 + case CNLiveUserInfoDataTypeHead:
  420 + {
  421 + UIImage *xw_image = [self xw_getImageName:@"mine_info_set" bundleName:@"CNLiveMineModule" targetClass:[CNLiveInfoUpdateController class]];
  422 + [_navigationBar.right setImage:xw_image forState:UIControlStateNormal];
  423 + }
  424 + break;
  425 + default:
  426 + {
  427 + _navigationBar.right.frame = CGRectMake(SCREEN_WIDTH-45-15, StatusBarHeight+10, 45, 24);
  428 + [_navigationBar.right setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
  429 + _navigationBar.right.backgroundColor = [UIColor lightGrayColor];
  430 + _navigationBar.right.userInteractionEnabled = NO;
  431 + _navigationBar.right.titleLabel.font = [UIFont boldSystemFontOfSize:13];
  432 + [_navigationBar.right setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  433 + [_navigationBar.right setTitle:@"完成" forState:UIControlStateNormal];
  434 + _navigationBar.right.adjustsImageWhenHighlighted = NO;
  435 + _navigationBar.right.layer.masksToBounds = YES;
  436 + _navigationBar.right.layer.cornerRadius = 5;
  437 + }
  438 + break;
  439 +
  440 + }
259 } 441 }
260 return _navigationBar; 442 return _navigationBar;
261 } 443 }
262 444
  445 +/**
  446 + * 创建图片
  447 + *
  448 + * @param imageName 图片名字
  449 + * @param bundleName 图片所在的bundle名字
  450 + * @param targetClass 类和bundle的同级目录
  451 + * @return 返回UIImage
  452 + */
  453 +- (UIImage *)xw_getImageName:(NSString *)imageName bundleName:(NSString *)bundleName targetClass:(Class)targetClass{
  454 + NSBundle *bundle = [NSBundle bundleForClass:targetClass];
  455 + NSURL *url = [bundle URLForResource:bundleName withExtension:@"bundle"];
  456 + NSBundle *targetBundle = [NSBundle bundleWithURL:url];
  457 + UIImage *image = [UIImage imageNamed:imageName inBundle:targetBundle compatibleWithTraitCollection:nil];
  458 + return image?image:[UIImage imageNamed:imageName inBundle:[NSBundle mainBundle] compatibleWithTraitCollection:nil];
  459 +
  460 +}
  461 +
263 @end 462 @end
CNLiveMineModule/Classes/UserInfo/CNLiveUserInfoController.m
@@ -145,7 +145,10 @@ @@ -145,7 +145,10 @@
145 switch (model.dataType) { 145 switch (model.dataType) {
146 case CNLiveUserInfoDataTypeHead: 146 case CNLiveUserInfoDataTypeHead:
147 { 147 {
148 - [self updateHeaderActionSheetView]; 148 +// [self updateHeaderActionSheetView];
  149 + CNLiveInfoUpdateController *vc = [[CNLiveInfoUpdateController alloc]initWithModel:model];
  150 + vc.delegate = self;
  151 + [self.navigationController pushViewController:vc animated:YES];
149 } 152 }
150 break; 153 break;
151 case CNLiveUserInfoDataTypeNickname: 154 case CNLiveUserInfoDataTypeNickname:
@@ -196,19 +199,6 @@ @@ -196,19 +199,6 @@
196 } 199 }
197 } 200 }
198 #pragma mark - 私有方法 201 #pragma mark - 私有方法
199 -// 修改头像  
200 -- (void)updateHeaderActionSheetView{  
201 - __weak typeof(self) weakSelf = self;  
202 -  
203 -}  
204 -  
205 -// 更新头像  
206 -- (void)requestUpdateUserHeader:(UIImage *)image{  
207 - // 数据请求更新  
208 -  
209 -  
210 -}  
211 -  
212 // 修改性别 202 // 修改性别
213 - (void)updateGenderActionSheetView{ 203 - (void)updateGenderActionSheetView{
214 __weak typeof(self) weakSelf = self; 204 __weak typeof(self) weakSelf = self;