更新用户资料
This commit is contained in:
@@ -185,6 +185,7 @@
|
||||
E8EEB91126FC6AE2007C6EBA /* XPMineUserInfoEditProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB91026FC6AD3007C6EBA /* XPMineUserInfoEditProtocol.h */; };
|
||||
E8EEB91426FC7786007C6EBA /* XPMineUserInfoNickViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB91326FC7786007C6EBA /* XPMineUserInfoNickViewController.m */; };
|
||||
E8EEB91726FC7B35007C6EBA /* XPMineUserInfoDesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB91626FC7B35007C6EBA /* XPMineUserInfoDesViewController.m */; };
|
||||
E8EEB91D26FC9D58007C6EBA /* XPMineUserInfoDateView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB91C26FC9D58007C6EBA /* XPMineUserInfoDateView.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@@ -527,6 +528,8 @@
|
||||
E8EEB91326FC7786007C6EBA /* XPMineUserInfoNickViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoNickViewController.m; sourceTree = "<group>"; };
|
||||
E8EEB91526FC7B35007C6EBA /* XPMineUserInfoDesViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoDesViewController.h; sourceTree = "<group>"; };
|
||||
E8EEB91626FC7B35007C6EBA /* XPMineUserInfoDesViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoDesViewController.m; sourceTree = "<group>"; };
|
||||
E8EEB91B26FC9D58007C6EBA /* XPMineUserInfoDateView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoDateView.h; sourceTree = "<group>"; };
|
||||
E8EEB91C26FC9D58007C6EBA /* XPMineUserInfoDateView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoDateView.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -1171,6 +1174,8 @@
|
||||
children = (
|
||||
E88B5CC326FB42B000DA9178 /* XPMineUserInfoHeaderView.h */,
|
||||
E88B5CC426FB42B000DA9178 /* XPMineUserInfoHeaderView.m */,
|
||||
E8EEB91B26FC9D58007C6EBA /* XPMineUserInfoDateView.h */,
|
||||
E8EEB91C26FC9D58007C6EBA /* XPMineUserInfoDateView.m */,
|
||||
);
|
||||
path = MineInfo;
|
||||
sourceTree = "<group>";
|
||||
@@ -1547,6 +1552,7 @@
|
||||
E8B825B726E9A7D8009E8E9F /* BaseObject.m in Sources */,
|
||||
E8AC723526F49939007D6E91 /* XPMineNotificaPresenter.m in Sources */,
|
||||
189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */,
|
||||
E8EEB91D26FC9D58007C6EBA /* XPMineUserInfoDateView.m in Sources */,
|
||||
E8AC722F26F49610007D6E91 /* XPMineNotificationItemModel.m in Sources */,
|
||||
E8E70D7A26F2F16600F03460 /* XPMinePresent.m in Sources */,
|
||||
E8EEB8F226FC2050007C6EBA /* SDPhotoBrowser.m in Sources */,
|
||||
|
@@ -39,6 +39,32 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
code:(NSString *)code
|
||||
uid:(NSString *)uid
|
||||
ticket:(NSString *)ticket;
|
||||
|
||||
/// 补全用户资料
|
||||
/// @param complection 完成
|
||||
/// @param avatar 用户的头像
|
||||
/// @param gender 用户的性别
|
||||
/// @param nick 用户的昵称
|
||||
/// @param birth 生日
|
||||
/// @param userDesc 签名
|
||||
/// @param inviteCode 邀请码
|
||||
/// @param uid 用户的uid
|
||||
/// @param ticket ticket
|
||||
/// @param roomUid 通过分享进入的app的 房间uid
|
||||
/// @param shareUid 分享的uid
|
||||
/// @param shareChannel 分享的渠道
|
||||
+ (void)complementInfoWithComplection:(HttpRequestHelperCompletion)complection
|
||||
avatar:(NSString *)avatar
|
||||
gender:(NSString *)gender
|
||||
nick:(NSString *)nick
|
||||
birth:(NSString *)birth
|
||||
userDesc:(NSString *)userDesc
|
||||
inviteCode:(NSString *)inviteCode
|
||||
uid:(NSString *)uid
|
||||
ticket:(NSString *)ticket
|
||||
roomUid:(NSString *)roomUid
|
||||
shareUid:(NSString *)shareUid
|
||||
shareChannel:(NSString *)shareChannel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -62,4 +62,33 @@
|
||||
[self makeRequest:@"sms/verify" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, mobile, code, uid, ticket,nil];
|
||||
}
|
||||
|
||||
/// 补全用户资料
|
||||
/// @param complection 完成
|
||||
/// @param avatar 用户的头像
|
||||
/// @param gender 用户的性别
|
||||
/// @param nick 用户的昵称
|
||||
/// @param birth 生日
|
||||
/// @param userDesc 签名
|
||||
/// @param inviteCode 邀请码
|
||||
/// @param uid 用户的uid
|
||||
/// @param ticket ticket
|
||||
/// @param roomUid 通过分享进入的app的 房间uid
|
||||
/// @param shareUid 分享的uid
|
||||
/// @param shareChannel 分享的渠道
|
||||
+ (void)complementInfoWithComplection:(HttpRequestHelperCompletion)complection
|
||||
avatar:(NSString *)avatar
|
||||
gender:(NSString *)gender
|
||||
nick:(NSString *)nick
|
||||
birth:(NSString *)birth
|
||||
userDesc:(NSString *)userDesc
|
||||
inviteCode:(NSString *)inviteCode
|
||||
uid:(NSString *)uid
|
||||
ticket:(NSString *)ticket
|
||||
roomUid:(NSString *)roomUid
|
||||
shareUid:(NSString *)shareUid
|
||||
shareChannel:(NSString *)shareChannel {
|
||||
[self makeRequest:@"user/v2/update" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__,avatar,gender,nick, inviteCode, uid, ticket, roomUid, shareUid, shareChannel,nil];
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -75,27 +75,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param completion 完成
|
||||
+ (void)randomNickWithComplection:(HttpRequestHelperCompletion)completion;
|
||||
|
||||
/// 补全用户资料
|
||||
/// @param complection 完成
|
||||
/// @param avatar 用户的头像
|
||||
/// @param gender 用户的性别
|
||||
/// @param nick 用户的昵称
|
||||
/// @param inviteCode 邀请码
|
||||
/// @param uid 用户的uid
|
||||
/// @param ticket ticket
|
||||
/// @param roomUid 通过分享进入的app的 房间uid
|
||||
/// @param shareUid 分享的uid
|
||||
/// @param shareChannel 分享的渠道
|
||||
+ (void)complementInfoWithComplection:(HttpRequestHelperCompletion)complection
|
||||
avatar:(NSString *)avatar
|
||||
gender:(NSString *)gender
|
||||
nick:(NSString *)nick
|
||||
inviteCode:(NSString *)inviteCode
|
||||
uid:(NSString *)uid
|
||||
ticket:(NSString *)ticket
|
||||
roomUid:(NSString *)roomUid
|
||||
shareUid:(NSString *)shareUid
|
||||
shareChannel:(NSString *)shareChannel;
|
||||
/// 绑定手机号码
|
||||
/// @param complection 完成
|
||||
/// @param mobile 手机号
|
||||
|
@@ -66,32 +66,6 @@
|
||||
[self makeRequest:@"random/nick/get" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
|
||||
/// 补全用户资料
|
||||
/// @param complection 完成
|
||||
/// @param avatar 用户的头像
|
||||
/// @param gender 用户的性别
|
||||
/// @param nick 用户的昵称
|
||||
/// @param inviteCode 邀请码
|
||||
/// @param uid 用户的uid
|
||||
/// @param ticket ticket
|
||||
/// @param roomUid 通过分享进入的app的 房间uid
|
||||
/// @param shareUid 分享的uid
|
||||
/// @param shareChannel 分享的渠道
|
||||
+ (void)complementInfoWithComplection:(HttpRequestHelperCompletion)complection
|
||||
avatar:(NSString *)avatar
|
||||
gender:(NSString *)gender
|
||||
nick:(NSString *)nick
|
||||
inviteCode:(NSString *)inviteCode
|
||||
uid:(NSString *)uid
|
||||
ticket:(NSString *)ticket
|
||||
roomUid:(NSString *)roomUid
|
||||
shareUid:(NSString *)shareUid
|
||||
shareChannel:(NSString *)shareChannel {
|
||||
[self makeRequest:@"user/v2/update" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__,avatar,gender,nick, inviteCode, uid, ticket, roomUid, shareUid, shareChannel,nil];
|
||||
|
||||
}
|
||||
|
||||
/// 绑定手机号码
|
||||
/// @param complection 完成
|
||||
/// @param mobile 手机号
|
||||
|
@@ -69,9 +69,10 @@
|
||||
if (shareChannel.length <= 0) {
|
||||
shareChannel = @"";
|
||||
}
|
||||
|
||||
[Api complementInfoWithComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView] complementInfoSuccess];
|
||||
} showLoading:YES] avatar:avatar gender:gender nick:nick inviteCode:inviteCode uid:uid ticket:ticket roomUid:roomUid shareUid:shareUid shareChannel:shareChannel];
|
||||
}] avatar:avatar gender:gender nick:nick birth:@"" userDesc:@"" inviteCode:inviteCode uid:uid ticket:ticket roomUid:roomUid shareUid:shareUid shareChannel:shareChannel];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -14,6 +14,15 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///获取个人资料页编辑的数据源
|
||||
- (void)getUserInfoEditDataSourceWithUserInfo:(UserInfoModel *)userInfo;
|
||||
|
||||
/// 补全资料
|
||||
/// @param avatar 头像
|
||||
/// @param nick 昵称
|
||||
/// @param birth 生日
|
||||
/// @param userDesc 用户的签名
|
||||
- (void)complectionInfoWithAvatar:(NSString * _Nullable)avatar
|
||||
nick:(NSString * _Nullable)nick
|
||||
birth:(NSString * _Nullable)birth
|
||||
userDesc:(NSString * _Nullable)userDesc;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -6,7 +6,10 @@
|
||||
//
|
||||
|
||||
#import "XPMineUserInfoEditPresenter.h"
|
||||
|
||||
///Api
|
||||
#import "Api.h"
|
||||
///Tool
|
||||
#import "AccountInfoStorage.h"
|
||||
///Model
|
||||
#import "XPMineUserInfoEditModel.h"
|
||||
#import "UserInfoModel.h"
|
||||
@@ -58,9 +61,38 @@
|
||||
[[self getView] getUserInfoEditDataSourceSuccess:self.editArray];
|
||||
}
|
||||
|
||||
/// 补全资料
|
||||
/// @param avatar 头像
|
||||
/// @param nick 昵称
|
||||
/// @param birth 生日
|
||||
/// @param userDesc 用户的签名
|
||||
- (void)complectionInfoWithAvatar:(NSString * _Nullable)avatar
|
||||
nick:(NSString * _Nullable)nick
|
||||
birth:(NSString * _Nullable)birth
|
||||
userDesc:(NSString * _Nullable)userDesc {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
NSString * ticket = [[AccountInfoStorage instance] getTicket];
|
||||
if (avatar.length <= 0) {
|
||||
avatar = @"";
|
||||
}
|
||||
|
||||
if (nick.length <= 0) {
|
||||
nick = @"";
|
||||
}
|
||||
|
||||
if (birth.length <= 0) {
|
||||
birth = @"";
|
||||
}
|
||||
|
||||
if (userDesc.length <= 0) {
|
||||
userDesc = @"";
|
||||
}
|
||||
[Api complementInfoWithComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView] complementUserInfoSuccess];
|
||||
} showLoading:YES] avatar:avatar gender:@"" nick:nick birth:birth userDesc:userDesc inviteCode:@"" uid:uid ticket:ticket roomUid:@"" shareUid:@"" shareChannel:@""];
|
||||
}
|
||||
|
||||
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (XPMineUserInfoEditModel *)nickItem {
|
||||
if (!_nickItem) {
|
||||
_nickItem = [[XPMineUserInfoEditModel alloc] init];
|
||||
|
@@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol XPMineUserInfoEditProtocol <NSObject>
|
||||
///获取编辑个人资料页面的数据
|
||||
- (void)getUserInfoEditDataSourceSuccess:(NSArray *)array;
|
||||
///补全资料
|
||||
- (void)complementUserInfoSuccess;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -10,6 +10,7 @@
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "UIButton+EnlargeTouchArea.h"
|
||||
|
||||
@interface XPMineUserInfoCustomNavView ()
|
||||
///返回按钮
|
||||
@@ -75,6 +76,7 @@
|
||||
[_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateNormal];
|
||||
_backButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
|
||||
[_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_backButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||
}
|
||||
return _backButton;
|
||||
}
|
||||
@@ -85,6 +87,7 @@
|
||||
_editButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_editButton setImage:[UIImage imageNamed:@"mine_user_info_edit"] forState:UIControlStateNormal];
|
||||
[_editButton addTarget:self action:@selector(editButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_editButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||
}
|
||||
return _editButton;
|
||||
}
|
||||
|
@@ -8,12 +8,17 @@
|
||||
#import "XPMineUserInfoEditViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <ReactiveObjC/ReactiveObjC.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "TTPopup.h"
|
||||
#import "YYUtility.h"
|
||||
///Model
|
||||
#import "XPMineUserInfoEditModel.h"
|
||||
#import "UserInfoModel.h"
|
||||
///View
|
||||
#import "XPMineUserInfoEditTableViewCell.h"
|
||||
#import "XPMineUserInfoDateView.h"
|
||||
///P
|
||||
#import "XPMineUserInfoEditProtocol.h"
|
||||
#import "XPMineUserInfoEditPresenter.h"
|
||||
@@ -21,11 +26,13 @@
|
||||
#import "XPMineUserInfoNickViewController.h"
|
||||
#import "XPMineUserInfoDesViewController.h"
|
||||
|
||||
@interface XPMineUserInfoEditViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineUserInfoEditProtocol, XPMineUserInfoDesViewControllerDelegate, XPMineUserInfoNickViewControllerDelegate>
|
||||
@interface XPMineUserInfoEditViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineUserInfoEditProtocol, XPMineUserInfoDesViewControllerDelegate, XPMineUserInfoNickViewControllerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, XPMineUserInfoDateViewDelegate>
|
||||
///列表
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
///数据源
|
||||
@property (nonatomic,strong) NSArray *datasouce;;
|
||||
@property (nonatomic,strong) NSArray *datasouce;
|
||||
/// 日期选择器
|
||||
@property (nonatomic,strong) XPMineUserInfoDateView *dateView;
|
||||
@end
|
||||
|
||||
@implementation XPMineUserInfoEditViewController
|
||||
@@ -52,6 +59,65 @@
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)showPhotoView {
|
||||
@weakify(self);
|
||||
TTActionSheetConfig *cameraConfig = [TTActionSheetConfig normalTitle:@"拍照上传" clickAction:^{
|
||||
[YYUtility checkCameraAvailable:^{
|
||||
@strongify(self);
|
||||
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
|
||||
imagePicker.delegate = self;
|
||||
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
|
||||
imagePicker.allowsEditing = YES;
|
||||
[self presentViewController:imagePicker animated:YES completion:NULL];
|
||||
} denied:^{
|
||||
@strongify(self);
|
||||
[self showNotPhoto:@"相机不可用" content:@"相机权限受限,点击确定去系统设置"];
|
||||
} restriction:^{
|
||||
@strongify(self);
|
||||
[self showNotPhoto:@"相机不可用" content:@"相册权限受限,点击确定去系统设置"];
|
||||
}];
|
||||
}];
|
||||
|
||||
TTActionSheetConfig *photoLibrayConfig = [TTActionSheetConfig normalTitle:@"本地相册" clickAction:^{
|
||||
[YYUtility checkAssetsLibrayAvailable:^{
|
||||
@strongify(self);
|
||||
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
|
||||
imagePicker.modalPresentationCapturesStatusBarAppearance = YES;
|
||||
imagePicker.delegate = self;
|
||||
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
imagePicker.allowsEditing = YES;
|
||||
[self presentViewController:imagePicker animated:YES completion:NULL];
|
||||
} denied:^{
|
||||
@strongify(self);
|
||||
[self showNotPhoto:@"相册不可用" content:@"相册权限受限,点击确定去系统设置"];
|
||||
} restriction:^{
|
||||
@strongify(self);
|
||||
[self showNotPhoto:@"相册不可用" content:@"相册权限受限,点击确定去系统设置"];
|
||||
}];
|
||||
}];
|
||||
|
||||
[TTPopup actionSheetWithItems:@[cameraConfig, photoLibrayConfig]];
|
||||
}
|
||||
|
||||
- (void)showNotPhoto:(NSString *)title content:(NSString *)content {
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = title;
|
||||
config.message = content;
|
||||
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
|
||||
if ([[UIApplication sharedApplication] canOpenURL:url]) {
|
||||
[[UIApplication sharedApplication] openURL:url];
|
||||
}
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)showDatePickerView {
|
||||
self.dateView.time = self.userInfo.birth/1000;
|
||||
[TTPopup popupView:self.dateView style:TTPopupStyleActionSheet];
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate And UITableViewDataSource
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
@@ -93,14 +159,10 @@
|
||||
}
|
||||
break;
|
||||
case XPMineUserInfoEditType_Avatar:
|
||||
{
|
||||
#warning to do 选择头像
|
||||
}
|
||||
[self showPhotoView];
|
||||
break;
|
||||
case XPMineUserInfoEditType_Birth:
|
||||
{
|
||||
#warning to do 选择日期
|
||||
}
|
||||
[self showDatePickerView];
|
||||
break;
|
||||
case XPMineUserInfoEditType_UseDes:
|
||||
{
|
||||
@@ -121,13 +183,47 @@
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - UIImagePickerControllerDelegate
|
||||
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
|
||||
{
|
||||
UIImage *selectedPhoto = [info objectForKey:UIImagePickerControllerEditedImage];
|
||||
if (selectedPhoto) {
|
||||
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
|
||||
UIImageWriteToSavedPhotosAlbum(selectedPhoto, nil, nil, nil);
|
||||
}
|
||||
#warning to do 上传图片
|
||||
}
|
||||
[picker dismissViewControllerAnimated:YES completion:^{}];
|
||||
}
|
||||
|
||||
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
|
||||
[picker dismissViewControllerAnimated:YES completion:^{
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - XPMineUserInfoDateViewDelegate
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickSureButton:(NSString *)dateStr{
|
||||
[TTPopup dismiss];
|
||||
if (dateStr.length > 0) {
|
||||
[self.presenter complectionInfoWithAvatar:nil nick:nil birth:dateStr userDesc:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickCancleButton:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
|
||||
#pragma mark - XPMineUserInfoNickViewControllerDelegate
|
||||
- (void)xPMineUserInfoNickViewController:(XPMineUserInfoNickViewController *)viewController updateNick:(NSString *)nick {
|
||||
|
||||
if (nick.length > 0) {
|
||||
[self.presenter complectionInfoWithAvatar:nil nick:nick birth:nil userDesc:nil];
|
||||
}
|
||||
}
|
||||
#pragma mark - XPMineUserInfoDesViewControllerDelegate
|
||||
- (void)xPMineUserInfoDesViewController:(XPMineUserInfoDesViewController *)viewController updateUserDes:(NSString *)userDes {
|
||||
|
||||
if (userDes.length > 0) {
|
||||
[self.presenter complectionInfoWithAvatar:nil nick:nil birth:nil userDesc:userDes];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - XPMineUserInfoEditProtocol
|
||||
@@ -135,6 +231,11 @@
|
||||
self.datasouce = array;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (void)complementUserInfoSuccess {
|
||||
[self hideHUD];
|
||||
[self showSuccessToast:@"更新成功"];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (UITableView *)tableView {
|
||||
if (!_tableView) {
|
||||
@@ -153,4 +254,12 @@
|
||||
return _tableView;
|
||||
}
|
||||
|
||||
- (XPMineUserInfoDateView *)dateView {
|
||||
if (!_dateView) {
|
||||
_dateView = [[XPMineUserInfoDateView alloc] init];
|
||||
_dateView.delegate = self;
|
||||
}
|
||||
return _dateView;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// XPMineUserInfoDateView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/9/23.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class XPMineUserInfoDateView;
|
||||
@protocol XPMineUserInfoDateViewDelegate <NSObject>
|
||||
///取消
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickCancleButton:(UIButton *)sender;
|
||||
///确定
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickSureButton:(NSString *)dateStr;
|
||||
@end
|
||||
|
||||
@interface XPMineUserInfoDateView : UIView
|
||||
// 设置当前日期 时间戳
|
||||
@property (nonatomic, assign) NSTimeInterval time;//
|
||||
///代理
|
||||
@property (nonatomic,weak) id<XPMineUserInfoDateViewDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,137 @@
|
||||
//
|
||||
// XPMineUserInfoDateView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2021/9/23.
|
||||
//
|
||||
|
||||
#import "XPMineUserInfoDateView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
|
||||
@interface XPMineUserInfoDateView ()
|
||||
///
|
||||
@property (nonatomic,strong) UIButton *cancleButton;
|
||||
///
|
||||
@property (nonatomic,strong) UIButton *sureButton;
|
||||
///
|
||||
@property (nonatomic, strong) UIDatePicker *datePicker;
|
||||
///样式
|
||||
@property (nonatomic, strong) NSDateFormatter *dateFormatter;
|
||||
@end
|
||||
|
||||
@implementation XPMineUserInfoDateView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.cancleButton];
|
||||
[self addSubview:self.sureButton];
|
||||
[self addSubview:self.datePicker];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.datePicker mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self);
|
||||
make.bottom.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.cancleButton.mas_bottom);
|
||||
}];
|
||||
[self.cancleButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.mas_equalTo(self);
|
||||
make.height.mas_equalTo(30);
|
||||
make.width.mas_equalTo(50);
|
||||
}];
|
||||
[self.sureButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.top.mas_equalTo(self);
|
||||
make.height.mas_equalTo(30);
|
||||
make.width.mas_equalTo(50);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Event
|
||||
- (void)onClickCancelButton:(UIButton *)sender {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoDateView:didClickCancleButton:)]) {
|
||||
[self.delegate xPMineUserInfoDateView:self didClickCancleButton:sender];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)onClickSureButton:(UIButton *)sender {
|
||||
NSDate * date = self.datePicker.date;
|
||||
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
|
||||
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth
|
||||
| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
|
||||
NSDate * nowDate = [NSDate date];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoDateView:didClickSureButton:)]) {
|
||||
NSTimeZone *timeZone= [NSTimeZone systemTimeZone];
|
||||
NSInteger seconds= [timeZone secondsFromGMTForDate:date];
|
||||
NSDate *newDate= [date dateByAddingTimeInterval:seconds];
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:newDate];
|
||||
[self.delegate xPMineUserInfoDateView:self didClickSureButton:dateStr];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setTime:(NSTimeInterval)time {
|
||||
_time = time;
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
|
||||
self.datePicker.date = date;
|
||||
}
|
||||
- (UIButton *)cancleButton {
|
||||
if (!_cancleButton) {
|
||||
_cancleButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_cancleButton setTitle:@"取消" forState:UIControlStateNormal];
|
||||
[_cancleButton addTarget:self action:@selector(onClickCancelButton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
_cancleButton.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_cancleButton setTitleColor:[ThemeColor secondTextColor] forState:UIControlStateNormal];
|
||||
}
|
||||
return _cancleButton;
|
||||
}
|
||||
|
||||
- (UIButton *)sureButton {
|
||||
if (!_sureButton) {
|
||||
_sureButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_sureButton setTitle:@"确定" forState:UIControlStateNormal];
|
||||
[_sureButton addTarget:self action:@selector(onClickSureButton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
_sureButton.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_sureButton setTitleColor:[ThemeColor mainTextColor] forState:UIControlStateNormal];
|
||||
}
|
||||
return _sureButton;
|
||||
}
|
||||
|
||||
- (NSDateFormatter *)dateFormatter {
|
||||
if (!_dateFormatter) {
|
||||
_dateFormatter = [[NSDateFormatter alloc] init];
|
||||
_dateFormatter.dateFormat = @"YYYY-MM-dd";
|
||||
}
|
||||
return _dateFormatter;
|
||||
}
|
||||
|
||||
- (UIDatePicker *)datePicker {
|
||||
if (!_datePicker){
|
||||
_datePicker = [[UIDatePicker alloc] init];
|
||||
_datePicker.datePickerMode = UIDatePickerModeDate;
|
||||
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
|
||||
_datePicker.locale = locale;
|
||||
_datePicker.layer.cornerRadius = 5;
|
||||
_datePicker.layer.masksToBounds = YES;
|
||||
if (@available(iOS 13.4, *)) {
|
||||
_datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
|
||||
}
|
||||
NSDate *date = [self.dateFormatter dateFromString:@"2000-07-01"];
|
||||
_datePicker.date = date;
|
||||
_datePicker.backgroundColor = [UIColor whiteColor];
|
||||
}
|
||||
return _datePicker;
|
||||
}
|
||||
|
||||
@end
|
Reference in New Issue
Block a user