更新用户资料

This commit is contained in:
fengshuo
2021-09-23 20:37:28 +08:00
parent 7372b8b776
commit 350c4bef01
13 changed files with 394 additions and 61 deletions

View File

@@ -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 */,

View File

@@ -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

View File

@@ -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

View File

@@ -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 手机号

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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];

View File

@@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
@protocol XPMineUserInfoEditProtocol <NSObject>
///获取编辑个人资料页面的数据
- (void)getUserInfoEditDataSourceSuccess:(NSArray *)array;
///补全资料
- (void)complementUserInfoSuccess;
@end
NS_ASSUME_NONNULL_END

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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

View File

@@ -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