Commit ad2a407a by xuning

设置+骑手信息

parent 69ff8776
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
79267AA32DBD1BFF000D2180 /* XVPersonalHeaderItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA22DBD1BFF000D2180 /* XVPersonalHeaderItemView.m */; }; 79267AA32DBD1BFF000D2180 /* XVPersonalHeaderItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA22DBD1BFF000D2180 /* XVPersonalHeaderItemView.m */; };
79267AA62DBE5720000D2180 /* XVSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA52DBE5720000D2180 /* XVSettingViewController.m */; }; 79267AA62DBE5720000D2180 /* XVSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA52DBE5720000D2180 /* XVSettingViewController.m */; };
79267AA92DBE655F000D2180 /* XVSettingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */; }; 79267AA92DBE655F000D2180 /* XVSettingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */; };
79267AAC2DBFC421000D2180 /* XVAboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AAB2DBFC421000D2180 /* XVAboutViewController.m */; };
79267AAF2DBFC7AF000D2180 /* XVMyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AAE2DBFC7AF000D2180 /* XVMyViewController.m */; };
79267AB22DBFCC44000D2180 /* XVMyCertificateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 79267AB12DBFCC44000D2180 /* XVMyCertificateView.m */; };
798136512DB7AD84004BC05B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136502DB7AD84004BC05B /* CoreGraphics.framework */; }; 798136512DB7AD84004BC05B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136502DB7AD84004BC05B /* CoreGraphics.framework */; };
798136532DB7AD90004BC05B /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136522DB7AD90004BC05B /* CoreLocation.framework */; }; 798136532DB7AD90004BC05B /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136522DB7AD90004BC05B /* CoreLocation.framework */; };
798136572DB7ADB6004BC05B /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136562DB7ADB6004BC05B /* OpenGLES.framework */; }; 798136572DB7ADB6004BC05B /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 798136562DB7ADB6004BC05B /* OpenGLES.framework */; };
...@@ -81,6 +84,12 @@ ...@@ -81,6 +84,12 @@
79267AA52DBE5720000D2180 /* XVSettingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVSettingViewController.m; sourceTree = "<group>"; }; 79267AA52DBE5720000D2180 /* XVSettingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVSettingViewController.m; sourceTree = "<group>"; };
79267AA72DBE655F000D2180 /* XVSettingTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XVSettingTableViewCell.h; sourceTree = "<group>"; }; 79267AA72DBE655F000D2180 /* XVSettingTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XVSettingTableViewCell.h; sourceTree = "<group>"; };
79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVSettingTableViewCell.m; sourceTree = "<group>"; }; 79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVSettingTableViewCell.m; sourceTree = "<group>"; };
79267AAA2DBFC421000D2180 /* XVAboutViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XVAboutViewController.h; sourceTree = "<group>"; };
79267AAB2DBFC421000D2180 /* XVAboutViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVAboutViewController.m; sourceTree = "<group>"; };
79267AAD2DBFC7AF000D2180 /* XVMyViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XVMyViewController.h; sourceTree = "<group>"; };
79267AAE2DBFC7AF000D2180 /* XVMyViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVMyViewController.m; sourceTree = "<group>"; };
79267AB02DBFCC44000D2180 /* XVMyCertificateView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XVMyCertificateView.h; sourceTree = "<group>"; };
79267AB12DBFCC44000D2180 /* XVMyCertificateView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XVMyCertificateView.m; sourceTree = "<group>"; };
798136262DB7AD09004BC05B /* BaiduMapAPI_Map.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_Map.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Map.framework"; sourceTree = "<group>"; }; 798136262DB7AD09004BC05B /* BaiduMapAPI_Map.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_Map.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Map.framework"; sourceTree = "<group>"; };
798136272DB7AD09004BC05B /* BaiduMapAPI_WalkNavi.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_WalkNavi.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_WalkNavi.framework"; sourceTree = "<group>"; }; 798136272DB7AD09004BC05B /* BaiduMapAPI_WalkNavi.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_WalkNavi.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_WalkNavi.framework"; sourceTree = "<group>"; };
798136282DB7AD09004BC05B /* BaiduMapAPI_Base.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_Base.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Base.framework"; sourceTree = "<group>"; }; 798136282DB7AD09004BC05B /* BaiduMapAPI_Base.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BaiduMapAPI_Base.framework; path = "Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Base.framework"; sourceTree = "<group>"; };
...@@ -394,6 +403,10 @@ ...@@ -394,6 +403,10 @@
79DC8B712B74B3EC00DBD8EA /* XVOrderSettingViewController.m */, 79DC8B712B74B3EC00DBD8EA /* XVOrderSettingViewController.m */,
79267AA42DBE5720000D2180 /* XVSettingViewController.h */, 79267AA42DBE5720000D2180 /* XVSettingViewController.h */,
79267AA52DBE5720000D2180 /* XVSettingViewController.m */, 79267AA52DBE5720000D2180 /* XVSettingViewController.m */,
79267AAA2DBFC421000D2180 /* XVAboutViewController.h */,
79267AAB2DBFC421000D2180 /* XVAboutViewController.m */,
79267AAD2DBFC7AF000D2180 /* XVMyViewController.h */,
79267AAE2DBFC7AF000D2180 /* XVMyViewController.m */,
); );
path = Controller; path = Controller;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -411,6 +424,8 @@ ...@@ -411,6 +424,8 @@
79267AA22DBD1BFF000D2180 /* XVPersonalHeaderItemView.m */, 79267AA22DBD1BFF000D2180 /* XVPersonalHeaderItemView.m */,
79267AA72DBE655F000D2180 /* XVSettingTableViewCell.h */, 79267AA72DBE655F000D2180 /* XVSettingTableViewCell.h */,
79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */, 79267AA82DBE655F000D2180 /* XVSettingTableViewCell.m */,
79267AB02DBFCC44000D2180 /* XVMyCertificateView.h */,
79267AB12DBFCC44000D2180 /* XVMyCertificateView.m */,
); );
path = View; path = View;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -736,9 +751,11 @@ ...@@ -736,9 +751,11 @@
7981EACF2B6F63CF00F357E7 /* XVMainJobViewController.m in Sources */, 7981EACF2B6F63CF00F357E7 /* XVMainJobViewController.m in Sources */,
799DF1042B6D220300680907 /* XVBaseViewController.m in Sources */, 799DF1042B6D220300680907 /* XVBaseViewController.m in Sources */,
79DC8B8A2B8D818000DBD8EA /* XVVerticalButton.m in Sources */, 79DC8B8A2B8D818000DBD8EA /* XVVerticalButton.m in Sources */,
79267AAF2DBFC7AF000D2180 /* XVMyViewController.m in Sources */,
799DF0C62B6BD8AF00680907 /* AppDelegate.m in Sources */, 799DF0C62B6BD8AF00680907 /* AppDelegate.m in Sources */,
7981EAC72B6F41B000F357E7 /* XVRegisterViewController.m in Sources */, 7981EAC72B6F41B000F357E7 /* XVRegisterViewController.m in Sources */,
79DC8B7B2B7AF42800DBD8EA /* XVOrderInfoTopView.m in Sources */, 79DC8B7B2B7AF42800DBD8EA /* XVOrderInfoTopView.m in Sources */,
79267AB22DBFCC44000D2180 /* XVMyCertificateView.m in Sources */,
799DF1112B6D25B400680907 /* NSObject+SXRuntime.m in Sources */, 799DF1112B6D25B400680907 /* NSObject+SXRuntime.m in Sources */,
7981EABA2B6E670200F357E7 /* UIView+XVAdd.m in Sources */, 7981EABA2B6E670200F357E7 /* UIView+XVAdd.m in Sources */,
7981EAD32B6F656900F357E7 /* XVCustomBarView.m in Sources */, 7981EAD32B6F656900F357E7 /* XVCustomBarView.m in Sources */,
...@@ -768,6 +785,7 @@ ...@@ -768,6 +785,7 @@
799DF11A2B6D2B3200680907 /* XVLoginViewController.m in Sources */, 799DF11A2B6D2B3200680907 /* XVLoginViewController.m in Sources */,
79267A9C2DBA8E0F000D2180 /* WMDragView.m in Sources */, 79267A9C2DBA8E0F000D2180 /* WMDragView.m in Sources */,
7981EAED2B6FC05B00F357E7 /* XVCategoryTitleView.m in Sources */, 7981EAED2B6FC05B00F357E7 /* XVCategoryTitleView.m in Sources */,
79267AAC2DBFC421000D2180 /* XVAboutViewController.m in Sources */,
799DF1102B6D25B400680907 /* UIBarButtonItem+SXCreate.m in Sources */, 799DF1102B6D25B400680907 /* UIBarButtonItem+SXCreate.m in Sources */,
79DC8B8D2B8D887000DBD8EA /* XVDispatchOrderAlter.m in Sources */, 79DC8B8D2B8D887000DBD8EA /* XVDispatchOrderAlter.m in Sources */,
799DF10F2B6D25B400680907 /* UINavigation+SXFixSpace.m in Sources */, 799DF10F2B6D25B400680907 /* UINavigation+SXFixSpace.m in Sources */,
......
//
// XVAboutViewController.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVBaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XVAboutViewController : XVBaseViewController
@end
NS_ASSUME_NONNULL_END
//
// XVAboutViewController.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVAboutViewController.h"
#import "XVSettingTableViewCell.h"
@interface XVAboutViewController ()
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) NSMutableArray<NSDictionary *> *dataArray;
@property (nonatomic, strong) UIImageView *logoImageView;
@property (nonatomic, strong) UIButton *versionButton;
@end
@implementation XVAboutViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"关于快服务骑士";
[self setupUI];
}
- (void)setupUI {
[self.view addSubview:self.tableView];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(UIEdgeInsetsMake(0, 7, 0, 7));
}];
}
#pragma mark - TableViewDelegate & Datasource
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
CGFloat cornerRadius =10.0;
CGRect bounds = cell.bounds;
// 每区行数
NSInteger numberOfRows = [tableView numberOfRowsInSection:indexPath.section];
//绘制曲线
UIBezierPath *bezierPath = nil;
if (indexPath.row == 0 && numberOfRows == 1) {
//四个角都为圆角
bezierPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
} else if (indexPath.row == 0) {
// cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
//左上、右上角为圆角
bezierPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight) cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
} else if (indexPath.row == numberOfRows - 1) {
// cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
//某个区的最后一行:左下、右下角为圆角
bezierPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerBottomLeft|UIRectCornerBottomRight) cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
} else {
//某个区的中间行:为矩形
bezierPath = [UIBezierPath bezierPathWithRect:bounds];
}
cell.backgroundColor = [UIColor clearColor];
//新建一个layer层,设置填充色和边框颜色
CAShapeLayer *layer = [CAShapeLayer layer];
layer.path = bezierPath.CGPath;
layer.fillColor = [UIColor whiteColor].CGColor;
layer.strokeColor = [UIColor whiteColor].CGColor;
//将layer层添加到cell.layer中,并插到最底层
[cell.layer insertSublayer:layer atIndex:0];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.dataArray.count;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSDictionary *dict = self.dataArray[indexPath.row];
XVSettingTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"XVAboutViewController"];
cell.dict = dict;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 44;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 188;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return CGFLOAT_MIN;
}
- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.tableView.width, 114)];
[view addSubview:self.logoImageView];
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(86, 86));
make.centerX.mas_equalTo(view);
make.top.mas_equalTo(view).mas_offset(31);
}];
[view addSubview:self.versionButton];
[self.versionButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.centerX.mas_equalTo(view);
make.top.mas_equalTo(self.logoImageView.mas_bottom).mas_offset(16);
}];
return view;
return [UIView new];
}
- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return [UIView new];
}
- (UITableView *)tableView {
if (_tableView == nil) {
_tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStyleGrouped];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.tableFooterView = [UIView new];
_tableView.backgroundColor = DEFAULT_BACKGROUND_COLOR;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone; //设置分割线的分割
[_tableView registerClass:[XVSettingTableViewCell class] forCellReuseIdentifier:@"XVAboutViewController"];
}
return _tableView;
}
- (NSMutableArray *)dataArray {
if (_dataArray == nil) {
_dataArray = [NSMutableArray arrayWithCapacity:4];
[_dataArray addObjectsFromArray:@[
@{@"title":@"骑士协议",@"type":@(4)},
@{@"title":@"隐私协议",@"type":@(4)},
@{@"title":@"官网",@"type":@(4)},
@{@"title":@"检查新版",@"type":@(4)}]];
}
return _dataArray;
}
- (UIImageView *)logoImageView {
if (_logoImageView == nil) {
_logoImageView = [[UIImageView alloc]initWithImageName:@"tubiao"];
}
return _logoImageView;
}
- (UIButton *)versionButton {
if(_versionButton == nil) {
_versionButton = [[UIButton alloc]initWithTitle:S(@"当前版本号:%@(Build %@)",APP_VERSION,APP_BUILD) fontSize:12 titleColor:F_606060_COLOR bgColor:nil];
}
return _versionButton;
}
@end
//
// XVMyViewController.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVBaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XVMyViewController : XVBaseViewController
@end
NS_ASSUME_NONNULL_END
//
// XVMyViewController.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVMyViewController.h"
#import "XVMyCertificateView.h"
@interface XVMyViewController ()
@property (nonatomic, strong) UIImageView *userImageView;
@property (nonatomic, strong) UILabel *nameLabel;
@property (nonatomic, strong) UIImageView *levelImageView;
@property (nonatomic, strong) UILabel *phoneLabel;
@property (nonatomic, strong) UIButton *eyeButton;
// 健康证
@property (nonatomic, strong) UIButton *healthButton;
@property (nonatomic, strong) UIButton *idButton;
@property (nonatomic, strong) UIImageView *levelBgView;
@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UIView *bottomView;
@property (nonatomic, strong) XVMyCertificateView *realNameView;
@property (nonatomic, strong) XVMyCertificateView *vehicleView;
@property (nonatomic, strong) XVMyCertificateView *healthView;
@property (nonatomic, strong) XVMyCertificateView *deviceView;
@end
@implementation XVMyViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self setNavigationBarsetBackgroundColor:DEFAULT_BACKGROUND_COLOR];
[self setupUI];
}
- (void)setupUI {
[self.view addSubview:self.userImageView];
[self.userImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view).mas_offset(11);
make.left.mas_equalTo(self.view).mas_offset(25);
make.size.mas_equalTo(CGSizeMake(66, 66));
}];
[self.view addSubview:self.nameLabel];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.userImageView.mas_right).mas_offset(13);
make.top.mas_equalTo(self.userImageView);
}];
[self.view addSubview:self.levelImageView];
[self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.nameLabel);
make.size.mas_equalTo(CGSizeMake(84, 24));
make.left.mas_equalTo(self.nameLabel.mas_right).mas_offset(4);
}];
[self.view addSubview:self.phoneLabel];
[self.phoneLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.userImageView.mas_right).mas_offset(13);
make.top.mas_equalTo(self.nameLabel.mas_bottom).mas_offset(7);
}];
[self.view addSubview:self.eyeButton];
[self.eyeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(17, 17));
make.centerY.mas_equalTo(self.phoneLabel);
make.left.mas_equalTo(self.phoneLabel.mas_right).mas_offset(4);
}];
[self.view addSubview:self.healthButton];
[self.healthButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20, 20));
make.centerY.mas_equalTo(self.phoneLabel);
make.left.mas_equalTo(self.eyeButton.mas_right).mas_offset(4);
}];
[self.view addSubview:self.idButton];
[self.idButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20, 20));
make.centerY.mas_equalTo(self.phoneLabel);
make.left.mas_equalTo(self.healthButton.mas_right).mas_offset(4);
}];
[self.view addSubview:self.levelBgView];
[self.levelBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.userImageView.mas_bottom).mas_offset(20);
make.left.mas_equalTo(self.view).mas_offset(33);
make.right.mas_equalTo(self.view).mas_offset(-33);
make.height.mas_equalTo((SCREEN_WIDTH-70)*173/324);
}];
[self.view addSubview:self.bottomView];
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.view).mas_offset(9);
make.right.mas_equalTo(self.view).mas_offset(-9);
make.top.mas_equalTo(self.levelBgView.mas_bottom).mas_offset(14);
make.height.mas_equalTo(165);
}];
kViewBorderRadius(self.bottomView, 20, 0, [UIColor whiteColor]);
[self.bottomView addSubview:self.titleLabel];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.bottomView).mas_offset(16);
make.left.mas_equalTo(self.bottomView).mas_offset(18);
}];
[self.bottomView addSubview:self.realNameView];
[self.bottomView addSubview:self.vehicleView];
[self.bottomView addSubview:self.healthView];
[self.bottomView addSubview:self.deviceView];
CGFloat w = (SCREEN_WIDTH-19) / 4;
[self.realNameView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_offset(17);
make.left.mas_equalTo(self.bottomView);
make.width.mas_equalTo(w);
make.height.mas_equalTo(100);
}];
[self.vehicleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_offset(17);
make.left.mas_equalTo(self.realNameView.mas_right);
make.width.mas_equalTo(w);
make.height.mas_equalTo(100);
}];
[self.healthView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_offset(17);
make.left.mas_equalTo(self.vehicleView.mas_right);
make.width.mas_equalTo(w);
make.height.mas_equalTo(100);
}];
[self.deviceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_offset(17);
make.left.mas_equalTo(self.healthView.mas_right);
make.width.mas_equalTo(w);
make.height.mas_equalTo(100);
}];
}
- (UIImageView *)userImageView {
if(_userImageView == nil) {
_userImageView = [[UIImageView alloc]initWithImageName:@"qishi-head"];
}
return _userImageView;
}
- (UILabel *)nameLabel {
if(_nameLabel == nil) {
_nameLabel = [[UILabel alloc]initWithText:@"骑士" textColor:F_101010_COLOR textAlignment:(NSTextAlignmentLeft) fontSize:26];
}
return _nameLabel;
}
- (UILabel *)phoneLabel {
if(_phoneLabel == nil) {
_phoneLabel = [[UILabel alloc]initWithText:@"138****0018" textColor:F_101010_COLOR textAlignment:(NSTextAlignmentLeft) fontSize:20];
}
return _phoneLabel;
}
- (UIButton *)eyeButton {
if (_eyeButton == nil) {
_eyeButton = [[UIButton alloc]initWithNormalImageName:@"closeeyes" selectedImgName:@"openeyes"];
}
return _eyeButton;
}
- (UIButton *)healthButton {
if (_healthButton == nil) {
_healthButton = [[UIButton alloc]initWithNormalImageName:@"fa5-address-card-fas 1 Copy 1" selectedImgName:@"fa5-address-card-fas 1"];
}
return _healthButton;
}
- (UIButton *)idButton {
if (_idButton == nil) {
_idButton = [[UIButton alloc]initWithNormalImageName:@"riFill-shield-user-fill 1 Copy 1" selectedImgName:@"riFill-shield-user-fill 1"];
}
return _idButton;
}
- (UIImageView *)levelImageView {
if (_levelImageView == nil) {
_levelImageView = [[UIImageView alloc]initWithImageName:@"tongpai3x"];
}
return _levelImageView;
}
- (UIImageView *)levelBgView {
if (_levelBgView == nil) {
_levelBgView = [[UIImageView alloc]initWithImageName:@"群组 13"];
}
return _levelBgView;
}
- (UILabel *)titleLabel {
if (_titleLabel == nil) {
_titleLabel = [[UILabel alloc]initWithText:@"我的证件&设备" textColor:F_101010_COLOR textAlignment:(NSTextAlignmentLeft) fontSize:12];
_titleLabel.font = [UIFont boldSystemFontOfSize:12];
}
return _titleLabel;
}
- (UIView *)bottomView {
if (_bottomView == nil) {
_bottomView = [[UIView alloc]init];
_bottomView.backgroundColor = [UIColor whiteColor];
}
return _bottomView;
}
- (XVMyCertificateView *)realNameView {
if (_realNameView == nil) {
_realNameView = [[XVMyCertificateView alloc]init];
[_realNameView setNormalImageName:@"群组 3" selectedImgName:@"群组 3" title:@"实名认证"];
}
return _realNameView;
}
- (XVMyCertificateView *)vehicleView {
if (_vehicleView == nil) {
_vehicleView = [[XVMyCertificateView alloc]init];
[_vehicleView setNormalImageName:@"群组 1" selectedImgName:@"群组 1" title:@"车辆认证"];
}
return _vehicleView;
}
- (XVMyCertificateView *)healthView {
if (_healthView == nil) {
_healthView = [[XVMyCertificateView alloc]init];
[_healthView setNormalImageName:@"群组 2" selectedImgName:@"群组 2" title:@"健康证"];
}
return _healthView;
}
- (XVMyCertificateView *)deviceView {
if (_deviceView == nil) {
_deviceView = [[XVMyCertificateView alloc]init];
[_deviceView setNormalImageName:@"群组 18" selectedImgName:@"群组 18" title:@"智能设备"];
}
return _deviceView;
}
@end
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#import <SDCycleScrollView/SDCycleScrollView.h> #import <SDCycleScrollView/SDCycleScrollView.h>
#import "XVVerticalButton.h" #import "XVVerticalButton.h"
#import "XVSettingViewController.h" #import "XVSettingViewController.h"
#import "XVMyViewController.h"
@interface XVPersonalViewController () @interface XVPersonalViewController ()
...@@ -277,6 +278,13 @@ ...@@ -277,6 +278,13 @@
- (UIImageView *)levelImageView { - (UIImageView *)levelImageView {
if (_levelImageView == nil) { if (_levelImageView == nil) {
_levelImageView = [[UIImageView alloc]initWithImageName:@"tongpai3x"]; _levelImageView = [[UIImageView alloc]initWithImageName:@"tongpai3x"];
_levelImageView.userInteractionEnabled = YES;
WS(weakSelf)
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithActionBlock:^(id _Nonnull sender) {
XVMyViewController *myVc = [[XVMyViewController alloc]init];
[weakSelf cw_pushViewController:myVc];
}];
[_levelImageView addGestureRecognizer:tap];
} }
return _levelImageView; return _levelImageView;
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#import "XVSettingViewController.h" #import "XVSettingViewController.h"
#import "XVSettingTableViewCell.h" #import "XVSettingTableViewCell.h"
#import "XVAboutViewController.h"
@interface XVSettingViewController () @interface XVSettingViewController ()
...@@ -26,7 +27,7 @@ ...@@ -26,7 +27,7 @@
- (void)viewDidLoad { - (void)viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
self.navigationItem.title = @"设置"; self.title = @"设置";
[self setupUI]; [self setupUI];
} }
...@@ -101,6 +102,9 @@ ...@@ -101,6 +102,9 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
XVAboutViewController *aboutVc = [[XVAboutViewController alloc]init];
[self.navigationController pushViewController:aboutVc animated:YES];
} }
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
......
//
// XVMyCertificateView.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XVMyCertificateView : UIView
- (void)setNormalImageName:(NSString *)imageName
selectedImgName:(NSString *)selectedImgName
title:(NSString *)title;
@end
NS_ASSUME_NONNULL_END
//
// XVMyCertificateView.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVMyCertificateView.h"
#import "XVVerticalButton.h"
@interface XVMyCertificateView()
@property (nonatomic, strong) XVVerticalButton *button;
@property (nonatomic, strong) UILabel *label;
@end
@implementation XVMyCertificateView
- (instancetype)init {
if (self = [super init]) {
[self setupUI];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self setupUI];
}
return self;
}
- (void)setupUI {
[self addSubview:self.button];
[self.button mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.size.mas_equalTo(CGSizeMake(62, 80));
make.top.mas_equalTo(self);
}];
[self addSubview:self.label];
[self.label mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.button.mas_bottom).mas_offset(2);
make.left.right.mas_equalTo(self);
}];
}
- (void)setNormalImageName:(NSString *)imageName selectedImgName:(NSString *)selectedImgName title:(nonnull NSString *)title{
[_button setImage:IMG(imageName) forState:(UIControlStateNormal)];
[_button setImage:IMG(selectedImgName) forState:(UIControlStateSelected)];
_label.text = title;
}
- (XVVerticalButton *)button {
if (_button == nil) {
_button = [[XVVerticalButton alloc]init];
_button.imageIsRound = NO;
_button.imageViewMaxSize = CGSizeMake(62, 62);
_button.imageTextSpace = 3;
[_button setImage:IMG(@"群组 3") forState:(UIControlStateNormal)];
[_button setTitle:@"未认证" forState:UIControlStateNormal];
[_button setTitleColor:kHexRGB(0xF78606) forState:UIControlStateNormal];
[_button setTitleColor:kHexRGB(0x00BE70) forState:UIControlStateSelected];
_button.titleLabel.font = [UIFont systemFontOfSize:10];
}
return _button;
}
- (UILabel *)label {
if (_label == nil) {
_label = [[UILabel alloc]initWithText:@"实名认证" textColor:F_101010_COLOR textAlignment:(NSTextAlignmentCenter) fontSize:12];
}
return _label;
}
@end
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
} }
- (void)setDict:(NSDictionary *)dict { - (void)setDict:(NSDictionary *)dict {
_dict = dict;
int type = [dict[@"type"] intValue]; int type = [dict[@"type"] intValue];
if (type == 1) { if (type == 1) {
...@@ -78,6 +79,8 @@ ...@@ -78,6 +79,8 @@
} }
} }
self.titleLabel.text = dict[@"title"];
} }
- (void)setupUI { - (void)setupUI {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment