diff --git a/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 39a08dc..941a73e 100644 --- a/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -2041,11 +2041,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456156474.252497" + timestampString = "457003304.570546" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "130" - endingLineNumber = "130" + startingLineNumber = "191" + endingLineNumber = "191" landmarkName = "-loadData" landmarkType = "5"> @@ -2425,11 +2425,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456156474.252497" + timestampString = "457003304.570546" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "125" - endingLineNumber = "125" + startingLineNumber = "186" + endingLineNumber = "186" landmarkName = "-loadData" landmarkType = "5"> @@ -2505,11 +2505,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456156517.360693" + timestampString = "457003304.570546" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "161" - endingLineNumber = "161" + startingLineNumber = "222" + endingLineNumber = "222" landmarkName = "-loadData" landmarkType = "5"> @@ -2521,11 +2521,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456156474.252497" + timestampString = "457003304.570546" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "50" - endingLineNumber = "50" + startingLineNumber = "53" + endingLineNumber = "53" landmarkName = "-viewDidLoad" landmarkType = "5"> @@ -4009,11 +4009,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456933821.019339" + timestampString = "457003304.570546" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "328" - endingLineNumber = "328" + startingLineNumber = "389" + endingLineNumber = "389" landmarkName = "-chatBtnClick:" landmarkType = "5"> @@ -4313,7 +4313,7 @@ moduleName = "Ash_AWord" usesParentBreakpointCondition = "Yes" urlString = "file:///Users/xmfish/Documents/Ash_Soft/Ash_AWord/Ash_AWord/ViewControllers/Chat/ChatMainViewController.m" - timestampString = "456997731.778097" + timestampString = "457003304.958387" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "877" @@ -4328,7 +4328,7 @@ moduleName = "Ash_AWord" usesParentBreakpointCondition = "Yes" urlString = "file:///Users/xmfish/Documents/Ash_Soft/Ash_AWord/Ash_AWord/ViewControllers/Chat/ChatMainViewController.m" - timestampString = "456997731.778294" + timestampString = "457003304.958543" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "877" diff --git a/Ash_AWord/Config/AWordDefault.h b/Ash_AWord/Config/AWordDefault.h index 2c6315b..fbecb3b 100644 --- a/Ash_AWord/Config/AWordDefault.h +++ b/Ash_AWord/Config/AWordDefault.h @@ -37,4 +37,8 @@ //设置登录方式 +(void)setLoginType:(NSInteger)loginType; +(NSInteger)getLoginType; + +//保存背景图片 ++(BOOL)setHeadBgImg:(UIImage *)headBgImg; ++(UIImage*)getHeadBgImg; @end diff --git a/Ash_AWord/Config/AWordDefault.m b/Ash_AWord/Config/AWordDefault.m index 0c22308..4222979 100644 --- a/Ash_AWord/Config/AWordDefault.m +++ b/Ash_AWord/Config/AWordDefault.m @@ -79,4 +79,17 @@ { return [[NSUserDefaults standardUserDefaults] integerForKey:@"logintype"]; } ++(BOOL)setHeadBgImg:(UIImage *)headBgImg +{ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); + NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"headbg.png"]]; // 保存文件的名称 + return [UIImagePNGRepresentation(headBgImg)writeToFile: filePath atomically:YES]; +} ++(UIImage*)getHeadBgImg +{ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); + NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"headbg.png"]]; // 保存文件的名称 + UIImage *img = [UIImage imageWithContentsOfFile:filePath]; + return img; +} @end diff --git a/Ash_AWord/Config/AWordUser.h b/Ash_AWord/Config/AWordUser.h index f83b330..e57f933 100644 --- a/Ash_AWord/Config/AWordUser.h +++ b/Ash_AWord/Config/AWordUser.h @@ -16,6 +16,7 @@ @property (nonatomic, strong) NSString *userAvatar; @property (nonatomic, strong) NSString* userGender; @property (nonatomic, assign) NSInteger loginType; //0代表第三方,1代表本地. +@property (nonatomic, strong) UIImage* headBgImg; +(AWordUser*)sharedInstance; @end diff --git a/Ash_AWord/Config/AWordUser.m b/Ash_AWord/Config/AWordUser.m index b8c870d..c96de1e 100644 --- a/Ash_AWord/Config/AWordUser.m +++ b/Ash_AWord/Config/AWordUser.m @@ -21,6 +21,7 @@ static AWordUser *sharedObj = nil; sharedObj.userAvatar = [AWordDefault getUserAvatar]; sharedObj.userGender = [AWordDefault getUserGender]; sharedObj.loginType = [AWordDefault getLoginType]; + sharedObj.headBgImg = [AWordDefault getHeadBgImg]; } return sharedObj; } @@ -57,4 +58,10 @@ static AWordUser *sharedObj = nil; _userAvatar = userAvatar; [AWordDefault setUserAvatar:userAvatar]; } +-(void)setHeadBgImg:(UIImage *)headBgImg +{ + _headBgImg = headBgImg; + [AWordDefault setHeadBgImg:headBgImg]; +} + @end diff --git a/Ash_AWord/ViewControllers/Main/MyViewController.m b/Ash_AWord/ViewControllers/Main/MyViewController.m index 7bd38f6..633daee 100644 --- a/Ash_AWord/ViewControllers/Main/MyViewController.m +++ b/Ash_AWord/ViewControllers/Main/MyViewController.m @@ -18,6 +18,7 @@ #import "MyMessageTableViewCell.h" #import "MainViewController.h" #import "AppDelegate.h" +#import "PersonalInfoViewController.h" @interface MyViewController () { NSArray* cellTitleArr; @@ -154,9 +155,14 @@ }else{ if([AWordUser sharedInstance].loginType == 1) { - SetUserInfoViewController* setUserInfoViewController = [[SetUserInfoViewController alloc] init]; - setUserInfoViewController.hidesBottomBarWhenPushed = YES; - [self.navigationController pushViewController:setUserInfoViewController animated:YES]; +// SetUserInfoViewController* setUserInfoViewController = [[SetUserInfoViewController alloc] init]; +// setUserInfoViewController.hidesBottomBarWhenPushed = YES; +// [self.navigationController pushViewController:setUserInfoViewController animated:YES]; + + PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init]; + personalInfoViewController.hidesBottomBarWhenPushed = YES; + personalInfoViewController.otherUserId = [AWordUser sharedInstance].uid; + [[AppDelegate visibleViewController].navigationController pushViewController:personalInfoViewController animated:YES]; } } diff --git a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m index 34edd42..4ee6d4a 100644 --- a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m +++ b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m @@ -15,7 +15,7 @@ #import "MessageViewModel.h" #import "UserViewModel.h" #import "ChatMainViewController.h" -@interface PersonalInfoViewController () +@interface PersonalInfoViewController () { CExpandHeader *_header; PersonalTopView* _personalTopView; @@ -43,10 +43,13 @@ self.navigationItem.title = @"个人主页"; + if ([AWordUser sharedInstance].headBgImg) { + _topViewImage.image = [AWordUser sharedInstance].headBgImg; + } + _imageArr = [[NSMutableArray alloc] init]; _voiceArr = [[NSMutableArray alloc] init]; - NSLog(@"%@",[AWordUser sharedInstance].uid); if ([_otherUserId isEqualToString:[AWordUser sharedInstance].uid]) { _bottomView.hidden = YES; @@ -65,7 +68,8 @@ // _personalTopView.frame = CGRectMake(0, 0, kScreenWidth, 285*[Ash_UIUtil currentScreenSizeRate]); __weak PersonalInfoViewController *weakself = self; [_personalTopView setuserInfoViewModel:_userViewModel]; - + + [_personalTopView.headBtn addTarget:self action:@selector(selectHeadImage:) forControlEvents:UIControlEventTouchUpInside]; [_personalTopView setIsSelectImg:^(BOOL isSelectImg){ _isSelectImage = isSelectImg; if (isSelectImg) { @@ -82,10 +86,67 @@ } } }]; + // [self.tableView beginUpdates]; self.tableView.tableHeaderView = _personalTopView; // [self.tableView endUpdates]; } + +#pragma mark 替换头图 +-(void)selectHeadImage:(id)sender +{ + if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { + UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"从手机相册选择", nil]; + actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque; + [actionSheet showFromTabBar:self.tabBarController.tabBar]; + }else{ + [self actionSheet:nil clickedButtonAtIndex:1]; + } + +} +-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex +{ + UIImagePickerController* picker = [[UIImagePickerController alloc] init]; + picker.allowsEditing = YES; + picker.delegate = self; + if (buttonIndex == 0) { + picker.sourceType = UIImagePickerControllerSourceTypeCamera; + } + if (buttonIndex == 1) { + picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; + + } + if(buttonIndex == 2) + { + return; + } + [self presentViewController:picker animated:YES completion:nil]; + +} +#pragma mark UIImagePickerControllerDelegate +-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker +{ + [picker dismissViewControllerAnimated: YES completion: ^(void){}]; + +} +-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info +{ + UIImage* image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; + if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { + + UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); + } + // resize image + image = [Ash_UIUtil fixOrientation:image]; + image = [Ash_UIUtil compressImageDownToPhoneScreenSize:image]; + [picker dismissViewControllerAnimated:NO completion:nil]; + +// _avatarImage = image; +// _avatarImageView.image = _avatarImage; + _topViewImage.image = image; + [[AWordUser sharedInstance] setHeadBgImg:image]; + +} #pragma mark MJRefreshDelegate -(void)headerRereshing { diff --git a/Ash_AWord/Views/User/PersonalTopView.h b/Ash_AWord/Views/User/PersonalTopView.h index f107557..d6b2445 100644 --- a/Ash_AWord/Views/User/PersonalTopView.h +++ b/Ash_AWord/Views/User/PersonalTopView.h @@ -8,7 +8,6 @@ #import typedef void (^IsSelectImage)(BOOL); - @class UserViewModel; @interface PersonalTopView : UIView @property (strong, nonatomic)IsSelectImage isSelectImg; @@ -33,6 +32,8 @@ typedef void (^IsSelectImage)(BOOL); @property (weak, nonatomic) IBOutlet UIView *selectView; @property (weak, nonatomic) IBOutlet UIButton *attentionBtn; - (IBAction)attentionBtnClick:(id)sender; +@property (weak, nonatomic) IBOutlet UIButton *headBtn; +- (IBAction)headBtnClick:(id)sender; -(void)setuserInfoViewModel:(UserViewModel*)userViewModel; @end diff --git a/Ash_AWord/Views/User/PersonalTopView.m b/Ash_AWord/Views/User/PersonalTopView.m index 746f418..c8f1b49 100644 --- a/Ash_AWord/Views/User/PersonalTopView.m +++ b/Ash_AWord/Views/User/PersonalTopView.m @@ -154,4 +154,8 @@ }]; } +- (IBAction)headBtnClick:(id)sender { + +} + @end diff --git a/Ash_AWord/Views/User/PersonalTopView.xib b/Ash_AWord/Views/User/PersonalTopView.xib index d794143..d6d377b 100644 --- a/Ash_AWord/Views/User/PersonalTopView.xib +++ b/Ash_AWord/Views/User/PersonalTopView.xib @@ -215,13 +215,24 @@ + + + + + @@ -240,6 +251,7 @@ +