部分需求修改
This commit is contained in:
@@ -796,8 +796,8 @@
|
|||||||
79EAD8032A7B86600036E093 /* Sources */,
|
79EAD8032A7B86600036E093 /* Sources */,
|
||||||
79EAD8042A7B86600036E093 /* Frameworks */,
|
79EAD8042A7B86600036E093 /* Frameworks */,
|
||||||
79EAD8052A7B86600036E093 /* Resources */,
|
79EAD8052A7B86600036E093 /* Resources */,
|
||||||
341364273A38F3D379A18C5D /* [CP] Copy Pods Resources */,
|
|
||||||
79FB76002A9C3BEE00DB00A4 /* Embed Foundation Extensions */,
|
79FB76002A9C3BEE00DB00A4 /* Embed Foundation Extensions */,
|
||||||
|
537F6EC1FB8E50103608F4A4 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -911,7 +911,7 @@
|
|||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
341364273A38F3D379A18C5D /* [CP] Copy Pods Resources */ = {
|
537F6EC1FB8E50103608F4A4 /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@@ -1122,7 +1122,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 9;
|
CURRENT_PROJECT_VERSION = 10;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
@@ -1337,7 +1337,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Haifeng Cen (F2QAMRC42Q)";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Haifeng Cen (F2QAMRC42Q)";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 9;
|
CURRENT_PROJECT_VERSION = 10;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
|
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
|
||||||
@@ -1395,7 +1395,7 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = OrderScheduling/OrderSchedulingRelease.entitlements;
|
CODE_SIGN_ENTITLEMENTS = OrderScheduling/OrderSchedulingRelease.entitlements;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 9;
|
CURRENT_PROJECT_VERSION = 10;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1430"
|
LastUpgradeVersion = "1430"
|
||||||
version = "1.7">
|
version = "1.8">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
buildImplicitDependencies = "YES">
|
buildImplicitDependencies = "YES">
|
||||||
@@ -28,6 +28,8 @@
|
|||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldAutocreateTestPlan = "YES">
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "PreRelease"
|
buildConfiguration = "PreRelease"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1430"
|
LastUpgradeVersion = "1430"
|
||||||
version = "1.8">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
buildImplicitDependencies = "YES">
|
buildImplicitDependencies = "YES">
|
||||||
@@ -28,8 +28,6 @@
|
|||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldAutocreateTestPlan = "YES">
|
shouldAutocreateTestPlan = "YES">
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
Binary file not shown.
@@ -221,8 +221,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "637"
|
startingLineNumber = "664"
|
||||||
endingLineNumber = "637"
|
endingLineNumber = "664"
|
||||||
landmarkName = "tableView(_:cellForRowAt:)"
|
landmarkName = "tableView(_:cellForRowAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -411,8 +411,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "953"
|
startingLineNumber = "1022"
|
||||||
endingLineNumber = "953"
|
endingLineNumber = "1022"
|
||||||
landmarkName = "collectionView(_:cellForItemAt:)"
|
landmarkName = "collectionView(_:cellForItemAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -2237,8 +2237,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "964"
|
startingLineNumber = "1033"
|
||||||
endingLineNumber = "964"
|
endingLineNumber = "1033"
|
||||||
landmarkName = "collectionView(_:didSelectItemAt:)"
|
landmarkName = "collectionView(_:didSelectItemAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -2971,8 +2971,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1047"
|
startingLineNumber = "1116"
|
||||||
endingLineNumber = "1047"
|
endingLineNumber = "1116"
|
||||||
landmarkName = "viewSafeAreaInsetsDidChange()"
|
landmarkName = "viewSafeAreaInsetsDidChange()"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -3643,8 +3643,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "861"
|
startingLineNumber = "922"
|
||||||
endingLineNumber = "861"
|
endingLineNumber = "922"
|
||||||
landmarkName = "tableView(_:cellForRowAt:)"
|
landmarkName = "tableView(_:cellForRowAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -3691,8 +3691,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "875"
|
startingLineNumber = "936"
|
||||||
endingLineNumber = "875"
|
endingLineNumber = "936"
|
||||||
landmarkName = "tableView(_:cellForRowAt:)"
|
landmarkName = "tableView(_:cellForRowAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -3739,8 +3739,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "880"
|
startingLineNumber = "941"
|
||||||
endingLineNumber = "880"
|
endingLineNumber = "941"
|
||||||
landmarkName = "tableView(_:cellForRowAt:)"
|
landmarkName = "tableView(_:cellForRowAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -4759,8 +4759,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1844"
|
startingLineNumber = "1957"
|
||||||
endingLineNumber = "1844"
|
endingLineNumber = "1957"
|
||||||
landmarkName = "init(style:reuseIdentifier:)"
|
landmarkName = "init(style:reuseIdentifier:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -4807,8 +4807,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1851"
|
startingLineNumber = "1964"
|
||||||
endingLineNumber = "1851"
|
endingLineNumber = "1964"
|
||||||
landmarkName = "init(style:reuseIdentifier:)"
|
landmarkName = "init(style:reuseIdentifier:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
|
|||||||
BIN
OrderScheduling/.DS_Store
vendored
BIN
OrderScheduling/.DS_Store
vendored
Binary file not shown.
BIN
OrderScheduling/Common/.DS_Store
vendored
BIN
OrderScheduling/Common/.DS_Store
vendored
Binary file not shown.
@@ -78,8 +78,8 @@ open class Tool {
|
|||||||
if GROUP.isOrderPushNotification(userInfo: userInfo) == true {
|
if GROUP.isOrderPushNotification(userInfo: userInfo) == true {
|
||||||
let taskCode = userInfo?[pushNoti_taskCode_key] as? String
|
let taskCode = userInfo?[pushNoti_taskCode_key] as? String
|
||||||
let juheVehcileName = userInfo?[pushNoti_juheVehcileName_key] as? String
|
let juheVehcileName = userInfo?[pushNoti_juheVehcileName_key] as? String
|
||||||
if juheVehcileName?.isEmpty == false {
|
if let juheVehcileName, juheVehcileName.isEmpty == false {
|
||||||
string = "您有一条新的聚合订单\(taskCode ?? "")"
|
string = "您有一条新的聚合订单\(taskCode ?? ""),聚合车辆:\(juheVehcileName)"
|
||||||
}else{
|
}else{
|
||||||
string = "您有一条新订单\(taskCode ?? "")"
|
string = "您有一条新订单\(taskCode ?? "")"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
OrderScheduling/History/.DS_Store
vendored
BIN
OrderScheduling/History/.DS_Store
vendored
Binary file not shown.
@@ -53,6 +53,11 @@ class OrderListDataModel: Decodable {
|
|||||||
var vehiclePointLongitude : Double
|
var vehiclePointLongitude : Double
|
||||||
var vehiclePointLatitude : Double
|
var vehiclePointLatitude : Double
|
||||||
var vehiclePointRemark : String?
|
var vehiclePointRemark : String?
|
||||||
|
var juheVehicleId : Int?
|
||||||
|
var juheVehcileName : String?
|
||||||
|
var juheStaffName : String?
|
||||||
|
var juheStaffPhone : String?
|
||||||
|
var juheSupplierId : Int?
|
||||||
var destinationAddress : String?
|
var destinationAddress : String?
|
||||||
var positionEnvironment : PositionEnvironmentModel?
|
var positionEnvironment : PositionEnvironmentModel?
|
||||||
var destinationLongitude : Double?
|
var destinationLongitude : Double?
|
||||||
|
|||||||
BIN
OrderScheduling/MessageCenter/.DS_Store
vendored
BIN
OrderScheduling/MessageCenter/.DS_Store
vendored
Binary file not shown.
BIN
OrderScheduling/Mine/.DS_Store
vendored
BIN
OrderScheduling/Mine/.DS_Store
vendored
Binary file not shown.
BIN
OrderScheduling/Rescue/.DS_Store
vendored
BIN
OrderScheduling/Rescue/.DS_Store
vendored
Binary file not shown.
@@ -594,6 +594,7 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
|||||||
cell?.line.backgroundColor = .hex("E9E9EA").alpha(0.6)
|
cell?.line.backgroundColor = .hex("E9E9EA").alpha(0.6)
|
||||||
cell?.merchantTitleLabel.text = "客商:"
|
cell?.merchantTitleLabel.text = "客商:"
|
||||||
cell?.serviceTitleLabel.text = "事发地:"
|
cell?.serviceTitleLabel.text = "事发地:"
|
||||||
|
cell?.reportButton.setTitle("报备", for: .normal)
|
||||||
cell?.contactButton.setTitle("联系客户", for: .normal)
|
cell?.contactButton.setTitle("联系客户", for: .normal)
|
||||||
cell?.dispatchButton.setTitle("指派车辆", for: .normal)
|
cell?.dispatchButton.setTitle("指派车辆", for: .normal)
|
||||||
}
|
}
|
||||||
@@ -630,6 +631,32 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if model.juheVehicleId != nil {
|
||||||
|
cell?.juheTitleLabel.text = "聚合车辆:"
|
||||||
|
cell?.juheButton.setTitle("\(model.juheVehcileName ?? "")-\(model.juheStaffPhone ?? "")", for: .normal)
|
||||||
|
cell?.juheButton.setImage(UIImage(named: "rescue_orderDispatch_call"), for: .normal)
|
||||||
|
cell?.juheButton.dd_customize(with: .ImageLeftPaddingTitleRightWithWholeCenter, padding: auto(5))
|
||||||
|
cell?.juheButton.isHidden = false
|
||||||
|
cell?.juheTitleLabel.snp.updateConstraints({ make in
|
||||||
|
make.top.equalTo(cell!.positionLabel.snp.bottom).offset(auto(8))
|
||||||
|
})
|
||||||
|
|
||||||
|
cell?.juheButton.snp.updateConstraints({ make in
|
||||||
|
make.height.equalTo(auto(17))
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
cell?.juheTitleLabel.text = nil
|
||||||
|
cell?.juheButton.setTitle(nil, for: .normal)
|
||||||
|
cell?.juheButton.setImage(nil, for: .normal)
|
||||||
|
cell?.juheButton.isHidden = true
|
||||||
|
cell?.juheTitleLabel.snp.updateConstraints({ make in
|
||||||
|
make.top.equalTo(cell!.positionLabel.snp.bottom).offset(0)
|
||||||
|
})
|
||||||
|
cell?.juheButton.snp.updateConstraints({ make in
|
||||||
|
make.height.equalTo(0)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
cell?.serviceLabel.text = model.vehiclePointAddress
|
cell?.serviceLabel.text = model.vehiclePointAddress
|
||||||
|
|
||||||
if model.vehiclePointRemark?.isEmpty == false {
|
if model.vehiclePointRemark?.isEmpty == false {
|
||||||
@@ -727,7 +754,21 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
|||||||
make.height.equalTo(0)
|
make.height.equalTo(0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
cell?.juheButton.rx.tap
|
||||||
|
.subscribe(onNext: { _ in
|
||||||
|
if let phone = model.juheStaffPhone {
|
||||||
|
SC.userOrderId = model.userOrderId
|
||||||
|
SC.orderCode = model.orderCode
|
||||||
|
SC.taskOrderId = model.taskOrderId
|
||||||
|
URLLINKS.openUrl(type: .phone, appending: phone)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.disposed(by: cell!.disposeBag)
|
||||||
|
cell?.reportButton.rx.tap
|
||||||
|
.subscribe(onNext: { _ in
|
||||||
|
WEBTOOL.open(name: .reporting,appending: "&queryType=\(OrderTypeEnum.TO_DISPATCH_VEHICLE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)")
|
||||||
|
})
|
||||||
|
.disposed(by: disposeBag)
|
||||||
cell?.contactButton.rx.tap
|
cell?.contactButton.rx.tap
|
||||||
.subscribe(onNext: { _ in
|
.subscribe(onNext: { _ in
|
||||||
SC.userOrderId = model.userOrderId
|
SC.userOrderId = model.userOrderId
|
||||||
@@ -764,6 +805,18 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
|||||||
make.width.equalTo(0)
|
make.width.equalTo(0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if USERP.canSupplierRemarkBtn == true {
|
||||||
|
cell?.reportButton.isHidden = false
|
||||||
|
cell?.reportButton.snp.updateConstraints({ make in
|
||||||
|
make.width.equalTo(auto(80))
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
cell?.reportButton.isHidden = true
|
||||||
|
cell?.reportButton.snp.updateConstraints({ make in
|
||||||
|
make.width.equalTo(0)
|
||||||
|
})
|
||||||
|
}
|
||||||
return cell!
|
return cell!
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -790,6 +843,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
cell?.orderStatusTitleLabel.text = "状态:"
|
cell?.orderStatusTitleLabel.text = "状态:"
|
||||||
cell?.serviceTitleLabel.text = "故障地:"
|
cell?.serviceTitleLabel.text = "故障地:"
|
||||||
cell?.destinationTitleLabel.text = "目的地:"
|
cell?.destinationTitleLabel.text = "目的地:"
|
||||||
|
cell?.contactButton.setTitle("联系客户", for: .normal)
|
||||||
cell?.reportButton.setTitle("报备", for: .normal)
|
cell?.reportButton.setTitle("报备", for: .normal)
|
||||||
cell?.reportDetailButton.setTitle("报备查看", for: .normal)
|
cell?.reportDetailButton.setTitle("报备查看", for: .normal)
|
||||||
cell?.dispatchButton.setTitle("改派", for: .normal)
|
cell?.dispatchButton.setTitle("改派", for: .normal)
|
||||||
@@ -825,7 +879,14 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
make.top.equalTo(cell!.serviceLabel.snp.bottom).offset(0)
|
make.top.equalTo(cell!.serviceLabel.snp.bottom).offset(0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
cell?.contactButton.rx.tap
|
||||||
|
.subscribe(onNext: { _ in
|
||||||
|
SC.userOrderId = model.userOrderId
|
||||||
|
SC.orderCode = model.orderCode
|
||||||
|
SC.taskOrderId = model.taskOrderId
|
||||||
|
URLLINKS.openUrl(type: .phone, appending: model.userPhone)
|
||||||
|
})
|
||||||
|
.disposed(by: cell!.disposeBag)
|
||||||
cell?.dispatchButton.rx.tap
|
cell?.dispatchButton.rx.tap
|
||||||
.observe(on: MainScheduler.instance)
|
.observe(on: MainScheduler.instance)
|
||||||
.subscribe(onNext: {[weak self] _ in
|
.subscribe(onNext: {[weak self] _ in
|
||||||
@@ -859,7 +920,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
if USERP.canWaitModifyDispatchBtn == true {
|
if USERP.canWaitModifyDispatchBtn == true {
|
||||||
cell?.dispatchButton.isHidden = false
|
cell?.dispatchButton.isHidden = false
|
||||||
cell?.dispatchButton.snp.updateConstraints({ make in
|
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||||
make.right.equalTo(cell!.reportDetailButton.snp.left).offset(-auto(10))
|
make.right.equalTo(cell!.reportDetailButton.snp.left).offset(-auto(5))
|
||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
@@ -874,7 +935,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
cell?.reportButton.isHidden = false
|
cell?.reportButton.isHidden = false
|
||||||
cell?.reportButton.snp.updateConstraints({ make in
|
cell?.reportButton.snp.updateConstraints({ make in
|
||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
make.right.equalTo(-auto(10))
|
make.right.equalTo(-auto(8))
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
cell?.reportButton.isHidden = true
|
cell?.reportButton.isHidden = true
|
||||||
@@ -905,8 +966,16 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
// 需要放在权限的代码后面
|
// 需要放在权限的代码后面
|
||||||
if (model.taskOrderStatus ?? 0) >= 12001 {
|
if (model.taskOrderStatus ?? 0) >= 12001 {
|
||||||
cell?.dispatchButton.isHidden = true
|
cell?.dispatchButton.isHidden = true
|
||||||
|
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||||
|
make.right.equalTo(cell!.reportDetailButton.snp.left).offset(0)
|
||||||
|
make.width.equalTo(0)
|
||||||
|
})
|
||||||
}else{
|
}else{
|
||||||
cell?.dispatchButton.isHidden = false
|
cell?.dispatchButton.isHidden = false
|
||||||
|
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||||
|
make.right.equalTo(cell!.reportDetailButton.snp.left).offset(-auto(5))
|
||||||
|
make.width.equalTo(auto(80))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return cell!
|
return cell!
|
||||||
@@ -1382,6 +1451,8 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
public let carTypeLabel : DDLabel
|
public let carTypeLabel : DDLabel
|
||||||
public let positionTitleLabel : DDLabel
|
public let positionTitleLabel : DDLabel
|
||||||
public let positionLabel : DDLabel
|
public let positionLabel : DDLabel
|
||||||
|
public let juheTitleLabel : DDLabel
|
||||||
|
public let juheButton : DDButton
|
||||||
public let serviceTitleLabel : DDLabel
|
public let serviceTitleLabel : DDLabel
|
||||||
public let serviceLabel : DDLabel
|
public let serviceLabel : DDLabel
|
||||||
public let serviceNoticeView : DDView
|
public let serviceNoticeView : DDView
|
||||||
@@ -1395,6 +1466,7 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
public let photoTitleLabel : DDLabel
|
public let photoTitleLabel : DDLabel
|
||||||
public let photoView : DDView
|
public let photoView : DDView
|
||||||
public let photoCollectionView : DDCollectionView
|
public let photoCollectionView : DDCollectionView
|
||||||
|
public let reportButton : DDButton
|
||||||
public let contactButton : DDButton
|
public let contactButton : DDButton
|
||||||
public let dispatchButton : DDButton
|
public let dispatchButton : DDButton
|
||||||
public var dispatchLayer : CAGradientLayer = {
|
public var dispatchLayer : CAGradientLayer = {
|
||||||
@@ -1420,6 +1492,8 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
carTypeLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
carTypeLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||||
positionTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
positionTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
||||||
positionLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
positionLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||||
|
juheTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("ff0000").alpha(0.5))
|
||||||
|
juheButton = DDButton.dd_initCustom()
|
||||||
serviceTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
serviceTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
||||||
serviceLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
serviceLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||||
serviceNoticeView = DDView.init()
|
serviceNoticeView = DDView.init()
|
||||||
@@ -1437,6 +1511,9 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
flowLayout.scrollDirection = .vertical
|
flowLayout.scrollDirection = .vertical
|
||||||
flowLayout.minimumInteritemSpacing = auto(5)
|
flowLayout.minimumInteritemSpacing = auto(5)
|
||||||
photoCollectionView = DDCollectionView(frame: CGRectZero, collectionViewLayout: flowLayout)
|
photoCollectionView = DDCollectionView(frame: CGRectZero, collectionViewLayout: flowLayout)
|
||||||
|
reportButton = DDButton.dd_initCustom()
|
||||||
|
reportButton.titleLabel?.font = .mediumFont(auto(13))
|
||||||
|
reportButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||||
contactButton = DDButton.dd_initCustom()
|
contactButton = DDButton.dd_initCustom()
|
||||||
contactButton.titleLabel?.font = .mediumFont(auto(13))
|
contactButton.titleLabel?.font = .mediumFont(auto(13))
|
||||||
contactButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
contactButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||||
@@ -1462,6 +1539,10 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
radiusView.addSubview(merchantLabel)
|
radiusView.addSubview(merchantLabel)
|
||||||
radiusView.addSubview(positionTitleLabel)
|
radiusView.addSubview(positionTitleLabel)
|
||||||
radiusView.addSubview(positionLabel)
|
radiusView.addSubview(positionLabel)
|
||||||
|
radiusView.addSubview(juheTitleLabel)
|
||||||
|
juheButton.setTitleColor(.hex("ff0000"), for: .normal)
|
||||||
|
juheButton.titleLabel?.font = .mediumFont(auto(13))
|
||||||
|
radiusView.addSubview(juheButton)
|
||||||
carTypeLabel.numberOfLines = 0
|
carTypeLabel.numberOfLines = 0
|
||||||
radiusView.addSubview(carTypeLabel)
|
radiusView.addSubview(carTypeLabel)
|
||||||
radiusView.addSubview(carTypeTitleLabel)
|
radiusView.addSubview(carTypeTitleLabel)
|
||||||
@@ -1485,6 +1566,10 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
radiusView.addSubview(photoView)
|
radiusView.addSubview(photoView)
|
||||||
photoCollectionView.backgroundColor = .white
|
photoCollectionView.backgroundColor = .white
|
||||||
photoView.addSubview(photoCollectionView)
|
photoView.addSubview(photoCollectionView)
|
||||||
|
reportButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
||||||
|
reportButton.layer.borderWidth = 1
|
||||||
|
reportButton.layer.cornerRadius = auto(4)
|
||||||
|
radiusView.addSubview(reportButton)
|
||||||
contactButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
contactButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
||||||
contactButton.layer.borderWidth = 1
|
contactButton.layer.borderWidth = 1
|
||||||
contactButton.layer.cornerRadius = auto(4)
|
contactButton.layer.cornerRadius = auto(4)
|
||||||
@@ -1553,12 +1638,25 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
make.right.equalTo(-auto(20))
|
make.right.equalTo(-auto(20))
|
||||||
}
|
}
|
||||||
|
|
||||||
serviceTitleLabel.snp.makeConstraints { make in
|
juheTitleLabel.snp.makeConstraints { make in
|
||||||
make.top.equalTo(positionLabel.snp.bottom).offset(auto(8))
|
make.top.equalTo(positionLabel.snp.bottom).offset(auto(8))
|
||||||
make.left.equalTo(typeLabel)
|
make.left.equalTo(typeLabel)
|
||||||
make.width.equalTo(merchantTitleLabel)
|
make.width.equalTo(merchantTitleLabel)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
juheButton.snp.makeConstraints { make in
|
||||||
|
make.centerY.equalTo(juheTitleLabel)
|
||||||
|
make.left.equalTo(juheTitleLabel.snp.right)
|
||||||
|
make.right.lessThanOrEqualTo(-auto(20))
|
||||||
|
make.height.equalTo(auto(17))
|
||||||
|
}
|
||||||
|
|
||||||
|
serviceTitleLabel.snp.makeConstraints { make in
|
||||||
|
make.top.equalTo(juheButton.snp.bottom).offset(auto(8))
|
||||||
|
make.left.equalTo(typeLabel)
|
||||||
|
make.width.equalTo(merchantTitleLabel)
|
||||||
|
}
|
||||||
|
|
||||||
serviceLabel.snp.makeConstraints { make in
|
serviceLabel.snp.makeConstraints { make in
|
||||||
make.top.equalTo(serviceTitleLabel)
|
make.top.equalTo(serviceTitleLabel)
|
||||||
make.left.equalTo(serviceTitleLabel.snp.right)
|
make.left.equalTo(serviceTitleLabel.snp.right)
|
||||||
@@ -1628,7 +1726,7 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dispatchButton.snp.makeConstraints { make in
|
dispatchButton.snp.makeConstraints { make in
|
||||||
make.right.equalToSuperview().offset(-auto(10))
|
make.right.equalToSuperview().offset(-auto(8))
|
||||||
make.top.equalTo(photoView.snp.bottom).offset(auto(10))
|
make.top.equalTo(photoView.snp.bottom).offset(auto(10))
|
||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
make.height.equalTo(auto(30))
|
make.height.equalTo(auto(30))
|
||||||
@@ -1641,6 +1739,13 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
|||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
make.height.equalTo(auto(30))
|
make.height.equalTo(auto(30))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reportButton.snp.makeConstraints { make in
|
||||||
|
make.right.equalTo(contactButton.snp.left).offset(-auto(10))
|
||||||
|
make.top.equalTo(dispatchButton)
|
||||||
|
make.width.equalTo(auto(80))
|
||||||
|
make.height.equalTo(auto(30))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1700,6 +1805,7 @@ class RescueIsIngCell : DDTableViewCell {
|
|||||||
public let serviceLabel : DDLabel
|
public let serviceLabel : DDLabel
|
||||||
public let destinationTitleLabel : DDLabel
|
public let destinationTitleLabel : DDLabel
|
||||||
public let destinationLabel : DDLabel
|
public let destinationLabel : DDLabel
|
||||||
|
public let contactButton : DDButton
|
||||||
public let dispatchButton : DDButton
|
public let dispatchButton : DDButton
|
||||||
public let reportButton : DDButton
|
public let reportButton : DDButton
|
||||||
public let reportDetailButton : DDButton
|
public let reportDetailButton : DDButton
|
||||||
@@ -1718,6 +1824,9 @@ class RescueIsIngCell : DDTableViewCell {
|
|||||||
serviceLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
serviceLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||||
destinationTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
destinationTitleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("000000").alpha(0.5))
|
||||||
destinationLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
destinationLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||||
|
contactButton = DDButton.dd_initCustom()
|
||||||
|
contactButton.titleLabel?.font = .mediumFont(13)
|
||||||
|
contactButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||||
dispatchButton = DDButton.dd_initCustom()
|
dispatchButton = DDButton.dd_initCustom()
|
||||||
dispatchButton.titleLabel?.font = .mediumFont(13)
|
dispatchButton.titleLabel?.font = .mediumFont(13)
|
||||||
dispatchButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
dispatchButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||||
@@ -1752,6 +1861,10 @@ class RescueIsIngCell : DDTableViewCell {
|
|||||||
radiusView.addSubview(destinationTitleLabel)
|
radiusView.addSubview(destinationTitleLabel)
|
||||||
destinationLabel.numberOfLines = 0
|
destinationLabel.numberOfLines = 0
|
||||||
radiusView.addSubview(destinationLabel)
|
radiusView.addSubview(destinationLabel)
|
||||||
|
contactButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
||||||
|
contactButton.layer.borderWidth = 1
|
||||||
|
contactButton.layer.cornerRadius = auto(4)
|
||||||
|
radiusView.addSubview(contactButton)
|
||||||
dispatchButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
dispatchButton.layer.borderColor = UIColor.hex("DDDDDD").cgColor
|
||||||
dispatchButton.layer.borderWidth = 1
|
dispatchButton.layer.borderWidth = 1
|
||||||
dispatchButton.layer.cornerRadius = auto(4)
|
dispatchButton.layer.cornerRadius = auto(4)
|
||||||
@@ -1842,19 +1955,25 @@ class RescueIsIngCell : DDTableViewCell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
reportDetailButton.snp.makeConstraints { make in
|
reportDetailButton.snp.makeConstraints { make in
|
||||||
make.right.equalTo(reportButton.snp.left).offset(-auto(10))
|
make.right.equalTo(reportButton.snp.left).offset(-auto(5))
|
||||||
make.top.equalTo(reportButton)
|
make.top.equalTo(reportButton)
|
||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
make.height.equalTo(auto(30))
|
make.height.equalTo(auto(30))
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatchButton.snp.makeConstraints { make in
|
dispatchButton.snp.makeConstraints { make in
|
||||||
make.right.equalTo(reportDetailButton.snp.left).offset(-auto(10))
|
make.right.equalTo(reportDetailButton.snp.left).offset(-auto(5))
|
||||||
make.top.equalTo(reportButton)
|
make.top.equalTo(reportButton)
|
||||||
make.width.equalTo(auto(80))
|
make.width.equalTo(auto(80))
|
||||||
make.height.equalTo(auto(30))
|
make.height.equalTo(auto(30))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
contactButton.snp.makeConstraints { make in
|
||||||
|
make.right.equalTo(dispatchButton.snp.left).offset(-auto(5))
|
||||||
|
make.top.equalTo(reportButton)
|
||||||
|
make.width.equalTo(auto(80))
|
||||||
|
make.height.equalTo(auto(30))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
required public init?(coder: NSCoder) {
|
required public init?(coder: NSCoder) {
|
||||||
|
|||||||
134
Podfile.lock
134
Podfile.lock
@@ -10,55 +10,55 @@ PODS:
|
|||||||
- AMapTrack-NO-IDFA (1.4.2):
|
- AMapTrack-NO-IDFA (1.4.2):
|
||||||
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
||||||
- AMapLocation-NO-IDFA (>= 2.6.7)
|
- AMapLocation-NO-IDFA (>= 2.6.7)
|
||||||
- BRPickerView (2.8.1):
|
- BRPickerView (2.8.0):
|
||||||
- BRPickerView/AddressPickerView (= 2.8.1)
|
- BRPickerView/AddressPickerView (= 2.8.0)
|
||||||
- BRPickerView/Base (= 2.8.1)
|
- BRPickerView/Base (= 2.8.0)
|
||||||
- BRPickerView/DatePickerView (= 2.8.1)
|
- BRPickerView/DatePickerView (= 2.8.0)
|
||||||
- BRPickerView/StringPickerView (= 2.8.1)
|
- BRPickerView/StringPickerView (= 2.8.0)
|
||||||
- BRPickerView/AddressPickerView (2.8.1):
|
- BRPickerView/AddressPickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- BRPickerView/Base (2.8.1)
|
- BRPickerView/Base (2.8.0)
|
||||||
- BRPickerView/DatePickerView (2.8.1):
|
- BRPickerView/DatePickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- BRPickerView/StringPickerView (2.8.1):
|
- BRPickerView/StringPickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- Bugly (2.5.93)
|
- Bugly (2.5.93)
|
||||||
- DDAudioPlayerKit_Private (0.1.5)
|
- DDAudioPlayerKit_Private (0.1.5)
|
||||||
- DDAutoUIKit_Private (0.1.3)
|
- DDAutoUIKit_Private (0.1.3)
|
||||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.3)
|
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.4)
|
||||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.4):
|
||||||
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseButton (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIButton+DDCategory"
|
- "DDCategoryKit_Private/UIButton+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.4):
|
||||||
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseImage (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseImageView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseLabel (0.3.4):
|
||||||
- "DDCategoryKit_Private/UILabel+DDCategory"
|
- "DDCategoryKit_Private/UILabel+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.4):
|
||||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
||||||
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.4):
|
||||||
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTableView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITableView+DDCategory"
|
- "DDCategoryKit_Private/UITableView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTextField (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITextField+DDCategory"
|
- "DDCategoryKit_Private/UITextField+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTextView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITextView+DDCategory"
|
- "DDCategoryKit_Private/UITextView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIView+DDCategory"
|
- "DDCategoryKit_Private/UIView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseViewController (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
@@ -186,35 +186,35 @@ PODS:
|
|||||||
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
||||||
- DDLogKit_Private/OCLog (0.1.4)
|
- DDLogKit_Private/OCLog (0.1.4)
|
||||||
- DDLogKit_Private/SwiftLog (0.1.4)
|
- DDLogKit_Private/SwiftLog (0.1.4)
|
||||||
- DDMAMapKit_Private (0.1.4):
|
- DDMAMapKit_Private (0.1.5):
|
||||||
- DDMAMapKit_Private/DDMALocation (= 0.1.4)
|
- DDMAMapKit_Private/DDMALocation (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.4)
|
- DDMAMapKit_Private/DDMANaviManager (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMASearch (= 0.1.4)
|
- DDMAMapKit_Private/DDMASearch (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.4)
|
- DDMAMapKit_Private/DDMATrackManager (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.4)
|
- DDMAMapKit_Private/DDMAUtil (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMALocation (0.1.4):
|
- DDMAMapKit_Private/DDMALocation (0.1.5):
|
||||||
- AMapLocation-NO-IDFA (= 2.9.0)
|
- AMapLocation-NO-IDFA (= 2.9.0)
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap (0.1.4):
|
- DDMAMapKit_Private/DDMAMap (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/MapView (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation
|
- DDMAMapKit_Private/DDMAMap/Annotation
|
||||||
@@ -223,28 +223,28 @@ PODS:
|
|||||||
- DDMAMapKit_Private/DDMAMap/Sources
|
- DDMAMapKit_Private/DDMAMap/Sources
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace
|
- DDMAMapKit_Private/DDMAMap/Trace
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Sources (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Trace (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMANaviManager (0.1.4):
|
- DDMAMapKit_Private/DDMANaviManager (0.1.5):
|
||||||
- AMapNavi-NO-IDFA (= 9.6.0)
|
- AMapNavi-NO-IDFA (= 9.6.0)
|
||||||
- DDMAMapKit_Private/DDMASearch (0.1.4):
|
- DDMAMapKit_Private/DDMASearch (0.1.5):
|
||||||
- AMapSearch-NO-IDFA (= 9.5.0)
|
- AMapSearch-NO-IDFA (= 9.5.0)
|
||||||
- "DDCategoryKit_Private/NSThread+DDCategory"
|
- "DDCategoryKit_Private/NSThread+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMATrackManager (0.1.4):
|
- DDMAMapKit_Private/DDMATrackManager (0.1.5):
|
||||||
- AMapTrack-NO-IDFA (= 1.4.2)
|
- AMapTrack-NO-IDFA (= 1.4.2)
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAUtil (0.1.4):
|
- DDMAMapKit_Private/DDMAUtil (0.1.5):
|
||||||
- DDMAMapKit_Private/DDMAMap
|
- DDMAMapKit_Private/DDMAMap
|
||||||
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
||||||
- Alamofire
|
- Alamofire
|
||||||
@@ -255,16 +255,18 @@ PODS:
|
|||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- Kingfisher
|
- Kingfisher
|
||||||
- SnapKit
|
- SnapKit
|
||||||
- DDTimerSwiftKit_Private (0.1.3):
|
- DDTimerSwiftKit_Private (0.2.1):
|
||||||
- DDLogKit_Private/SwiftLog
|
- DDLogKit_Private/SwiftLog
|
||||||
- DDToastKit_Private (0.1.2)
|
- DDToastKit_Private (0.1.2)
|
||||||
- DDUtilsSwiftKit_Private (0.1.0):
|
- DDUtilsSwiftKit_Private (0.1.1):
|
||||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.0)
|
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.0)
|
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.0)
|
- DDUtilsSwiftKit_Private/FileManager (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.0)
|
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.0)
|
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/UrlLinks (0.1.0)
|
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.1)
|
||||||
|
- DDUtilsSwiftKit_Private/FileManager (0.1.1)
|
||||||
|
- DDUtilsSwiftKit_Private/UrlLinks (0.1.1)
|
||||||
- DDWebImageKit_Private (0.1.3):
|
- DDWebImageKit_Private (0.1.3):
|
||||||
- DDWebImageKit_Private/DDWebImage (= 0.1.3)
|
- DDWebImageKit_Private/DDWebImage (= 0.1.3)
|
||||||
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
||||||
@@ -306,7 +308,7 @@ PODS:
|
|||||||
- ZLPhotoBrowser/Core (4.4.3.2)
|
- ZLPhotoBrowser/Core (4.4.3.2)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- BRPickerView
|
- BRPickerView (= 2.8.0)
|
||||||
- Bugly
|
- Bugly
|
||||||
- DDAudioPlayerKit_Private
|
- DDAudioPlayerKit_Private
|
||||||
- DDAutoUIKit_Private
|
- DDAutoUIKit_Private
|
||||||
@@ -391,24 +393,24 @@ SPEC CHECKSUMS:
|
|||||||
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
||||||
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
||||||
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
||||||
BRPickerView: 2531a2d4d0fea0b57a1c738de215af0f88863a2f
|
BRPickerView: a0ff460bf092bc069db5a54153395b1f7e8f5300
|
||||||
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
||||||
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
||||||
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
||||||
DDBasicControlsKit_Private: 4fb51a0ccefc9e62791352a0d55e86c4f679a5c9
|
DDBasicControlsKit_Private: d78c6ac0235bdf084652a970179a1141dfd45710
|
||||||
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
||||||
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
||||||
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
||||||
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
||||||
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
||||||
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
||||||
DDMAMapKit_Private: fda2942ba7a3b7da4d440e59a89db9fd6708d842
|
DDMAMapKit_Private: b378d69f693d6998d136155cd5c81be2e4545fae
|
||||||
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
||||||
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
||||||
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
||||||
DDTimerSwiftKit_Private: e9c55d0d9d60de4965b369b342bb903c85542cff
|
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
|
||||||
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
||||||
DDUtilsSwiftKit_Private: a0bb323c6bac3bf68e94f95d10fd9e3529fb773d
|
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
|
||||||
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
||||||
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
||||||
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
||||||
@@ -427,6 +429,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
||||||
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
||||||
|
|
||||||
PODFILE CHECKSUM: 75e62ee633534110b4a33fd42fd1175199c85796
|
PODFILE CHECKSUM: 96c1ebaac8dd93918200066b5731f8b3d0ee177c
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
|||||||
BIN
Pods/.DS_Store
generated
vendored
BIN
Pods/.DS_Store
generated
vendored
Binary file not shown.
BIN
Pods/AMapNavi-NO-IDFA/AMapNaviKit.framework/.DS_Store
generated
vendored
BIN
Pods/AMapNavi-NO-IDFA/AMapNaviKit.framework/.DS_Store
generated
vendored
Binary file not shown.
@@ -17,10 +17,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nullable, nonatomic, copy) NSString *code;
|
@property (nullable, nonatomic, copy) NSString *code;
|
||||||
/** 省的名称 */
|
/** 省的名称 */
|
||||||
@property (nullable, nonatomic, copy) NSString *name;
|
@property (nullable, nonatomic, copy) NSString *name;
|
||||||
|
/** 省的索引 */
|
||||||
|
@property (nonatomic, assign) NSInteger index;
|
||||||
/** 城市数组 */
|
/** 城市数组 */
|
||||||
@property (nullable, nonatomic, copy) NSArray *citylist;
|
@property (nullable, nonatomic, copy) NSArray *citylist;
|
||||||
/** 记录省选择的索引位置 */
|
|
||||||
@property (nonatomic, assign) NSInteger index;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -30,10 +30,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nullable, nonatomic, copy) NSString *code;
|
@property (nullable, nonatomic, copy) NSString *code;
|
||||||
/** 市的名称 */
|
/** 市的名称 */
|
||||||
@property (nullable, nonatomic, copy) NSString *name;
|
@property (nullable, nonatomic, copy) NSString *name;
|
||||||
|
/** 市的索引 */
|
||||||
|
@property (nonatomic, assign) NSInteger index;
|
||||||
/** 地区数组 */
|
/** 地区数组 */
|
||||||
@property (nullable, nonatomic, copy) NSArray *arealist;
|
@property (nullable, nonatomic, copy) NSArray *arealist;
|
||||||
/** 记录市选择的索引位置 */
|
|
||||||
@property (nonatomic, assign) NSInteger index;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nullable, nonatomic, copy) NSString *code;
|
@property (nullable, nonatomic, copy) NSString *code;
|
||||||
/** 区的名称 */
|
/** 区的名称 */
|
||||||
@property (nullable, nonatomic, copy) NSString *name;
|
@property (nullable, nonatomic, copy) NSString *name;
|
||||||
/** 记录区选择的索引位置 */
|
/** 区的索引 */
|
||||||
@property (nonatomic, assign) NSInteger index;
|
@property (nonatomic, assign) NSInteger index;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -445,10 +445,6 @@
|
|||||||
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
||||||
[self addSubview:self.pickerView];
|
[self addSubview:self.pickerView];
|
||||||
} else {
|
} else {
|
||||||
// iOS16:重新设置 pickerView 高度(解决懒加载设置frame不生效问题)
|
|
||||||
CGFloat pickerHeaderViewHeight = self.pickerHeaderView ? self.pickerHeaderView.bounds.size.height : 0;
|
|
||||||
self.pickerView.frame = CGRectMake(0, self.pickerStyle.titleBarHeight + pickerHeaderViewHeight, self.keyView.bounds.size.width, self.pickerStyle.pickerHeight);
|
|
||||||
|
|
||||||
[self.alertView addSubview:self.pickerView];
|
[self.alertView addSubview:self.pickerView];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
Pods/BRPickerView/BRPickerView/Base/BRBaseView.m
generated
12
Pods/BRPickerView/BRPickerView/Base/BRBaseView.m
generated
@@ -300,18 +300,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
[self.keyView addSubview:self];
|
[self.keyView addSubview:self];
|
||||||
|
|
||||||
// iOS16:重新设置 alertView 高度(解决懒加载设置frame不生效问题)
|
|
||||||
CGFloat accessoryViewHeight = 0;
|
|
||||||
if (self.pickerHeaderView) {
|
|
||||||
accessoryViewHeight += self.pickerHeaderView.bounds.size.height;
|
|
||||||
}
|
|
||||||
if (self.pickerFooterView) {
|
|
||||||
accessoryViewHeight += self.pickerFooterView.bounds.size.height;
|
|
||||||
}
|
|
||||||
CGFloat height = self.pickerStyle.titleBarHeight + self.pickerStyle.pickerHeight + self.pickerStyle.paddingBottom + accessoryViewHeight;
|
|
||||||
self.alertView.frame = CGRectMake(0, self.keyView.bounds.size.height - height, self.keyView.bounds.size.width, height);
|
|
||||||
|
|
||||||
// 动画前初始位置
|
// 动画前初始位置
|
||||||
CGRect rect = self.alertView.frame;
|
CGRect rect = self.alertView.frame;
|
||||||
rect.origin.y = self.bounds.size.height;
|
rect.origin.y = self.bounds.size.height;
|
||||||
|
|||||||
@@ -17,9 +17,6 @@
|
|||||||
"分" = " ";
|
"分" = " ";
|
||||||
"秒" = " ";
|
"秒" = " ";
|
||||||
|
|
||||||
"周" = " ";
|
|
||||||
"季度" = " ";
|
|
||||||
|
|
||||||
"上午" = "AM";
|
"上午" = "AM";
|
||||||
"下午" = "PM";
|
"下午" = "PM";
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,6 @@
|
|||||||
"分" = "分";
|
"分" = "分";
|
||||||
"秒" = "秒";
|
"秒" = "秒";
|
||||||
|
|
||||||
"周" = "周";
|
|
||||||
"季度" = "季度";
|
|
||||||
|
|
||||||
"上午" = "上午";
|
"上午" = "上午";
|
||||||
"下午" = "下午";
|
"下午" = "下午";
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,6 @@
|
|||||||
"分" = "分";
|
"分" = "分";
|
||||||
"秒" = "秒";
|
"秒" = "秒";
|
||||||
|
|
||||||
"周" = "周";
|
|
||||||
"季度" = "季度";
|
|
||||||
|
|
||||||
"上午" = "上午";
|
"上午" = "上午";
|
||||||
"下午" = "下午";
|
"下午" = "下午";
|
||||||
|
|
||||||
|
|||||||
@@ -49,15 +49,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
/** 获取 secondArr 数组 */
|
/** 获取 secondArr 数组 */
|
||||||
- (NSArray *)getSecondArr:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute;
|
- (NSArray *)getSecondArr:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute;
|
||||||
|
|
||||||
/** 获取 monthWeekArr 数组 */
|
|
||||||
- (NSArray *)getMonthWeekArr:(NSInteger)year month:(NSInteger)month;
|
|
||||||
|
|
||||||
/** 获取 yearWeekArr 数组 */
|
|
||||||
- (NSArray *)getYearWeekArr:(NSInteger)year;
|
|
||||||
|
|
||||||
/** 获取 quarterArr 数组 */
|
|
||||||
- (NSArray *)getQuarterArr:(NSInteger)year;
|
|
||||||
|
|
||||||
/** 添加 pickerView */
|
/** 添加 pickerView */
|
||||||
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)view;
|
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)view;
|
||||||
|
|
||||||
@@ -80,10 +71,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
- (NSString *)getSecondText:(NSArray *)secondArr row:(NSInteger)row;
|
- (NSString *)getSecondText:(NSArray *)secondArr row:(NSInteger)row;
|
||||||
|
|
||||||
- (NSString *)getWeekText:(NSArray *)weekArr row:(NSInteger)row;
|
|
||||||
|
|
||||||
- (NSString *)getQuarterText:(NSArray *)quarterArr row:(NSInteger)row;
|
|
||||||
|
|
||||||
- (NSString *)getAMText;
|
- (NSString *)getAMText;
|
||||||
|
|
||||||
- (NSString *)getPMText;
|
- (NSString *)getPMText;
|
||||||
@@ -100,10 +87,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
- (NSString *)getSecondUnit;
|
- (NSString *)getSecondUnit;
|
||||||
|
|
||||||
- (NSString *)getWeekUnit;
|
|
||||||
|
|
||||||
- (NSString *)getQuarterUnit;
|
|
||||||
|
|
||||||
- (NSInteger)getIndexWithArray:(NSArray *)array object:(NSString *)obj;
|
- (NSInteger)getIndexWithArray:(NSArray *)array object:(NSString *)obj;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -368,69 +368,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
|||||||
return [tempArr copy];
|
return [tempArr copy];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - 获取 monthWeekArr 数组
|
|
||||||
- (NSArray *)getMonthWeekArr:(NSInteger)year month:(NSInteger)month {
|
|
||||||
NSInteger startWeek = 1;
|
|
||||||
NSInteger endWeek = [NSDate br_getWeeksOfMonthInYear:year month:month];
|
|
||||||
if (year == self.minDate.br_year && month == self.minDate.br_month) {
|
|
||||||
startWeek = self.minDate.br_monthWeek;
|
|
||||||
}
|
|
||||||
if (year == self.maxDate.br_year && month == self.maxDate.br_month) {
|
|
||||||
endWeek = self.maxDate.br_monthWeek;
|
|
||||||
}
|
|
||||||
NSMutableArray *tempArr = [[NSMutableArray alloc]init];
|
|
||||||
for (NSInteger i = startWeek; i <= endWeek; i++) {
|
|
||||||
[tempArr addObject:[self getMDHMSNumber:i]];
|
|
||||||
}
|
|
||||||
if (self.isDescending) {
|
|
||||||
return [[tempArr reverseObjectEnumerator] allObjects];
|
|
||||||
}
|
|
||||||
|
|
||||||
return [tempArr copy];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取 yearWeekArr 数组
|
|
||||||
- (NSArray *)getYearWeekArr:(NSInteger)year {
|
|
||||||
NSInteger startWeek = 1;
|
|
||||||
NSInteger endWeek = [NSDate br_getWeeksOfYearInYear:year];
|
|
||||||
if (year == self.minDate.br_year) {
|
|
||||||
startWeek = self.minDate.br_yearWeek;
|
|
||||||
}
|
|
||||||
if (year == self.maxDate.br_year) {
|
|
||||||
endWeek = self.maxDate.br_yearWeek;
|
|
||||||
}
|
|
||||||
NSMutableArray *tempArr = [[NSMutableArray alloc]init];
|
|
||||||
for (NSInteger i = startWeek; i <= endWeek; i++) {
|
|
||||||
[tempArr addObject:[self getMDHMSNumber:i]];
|
|
||||||
}
|
|
||||||
if (self.isDescending) {
|
|
||||||
return [[tempArr reverseObjectEnumerator] allObjects];
|
|
||||||
}
|
|
||||||
|
|
||||||
return [tempArr copy];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取 quarterArr 数组
|
|
||||||
- (NSArray *)getQuarterArr:(NSInteger)year {
|
|
||||||
NSInteger startQuarter = 1;
|
|
||||||
NSInteger endQuarter = [NSDate br_getQuartersInYear:year];
|
|
||||||
if (year == self.minDate.br_year) {
|
|
||||||
startQuarter = self.minDate.br_quarter;
|
|
||||||
}
|
|
||||||
if (year == self.maxDate.br_year) {
|
|
||||||
endQuarter = self.maxDate.br_quarter;
|
|
||||||
}
|
|
||||||
NSMutableArray *tempArr = [[NSMutableArray alloc]init];
|
|
||||||
for (NSInteger i = startQuarter; i <= endQuarter; i++) {
|
|
||||||
[tempArr addObject:[self getMDHMSNumber:i]];
|
|
||||||
}
|
|
||||||
if (self.isDescending) {
|
|
||||||
return [[tempArr reverseObjectEnumerator] allObjects];
|
|
||||||
}
|
|
||||||
|
|
||||||
return [tempArr copy];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 添加 pickerView
|
#pragma mark - 添加 pickerView
|
||||||
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)view {
|
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)view {
|
||||||
if (view) {
|
if (view) {
|
||||||
@@ -444,10 +381,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
|||||||
pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
||||||
[self addSubview:pickerView];
|
[self addSubview:pickerView];
|
||||||
} else {
|
} else {
|
||||||
// iOS16:重新设置 pickerView 高度(解决懒加载设置frame不生效问题)
|
|
||||||
CGFloat pickerHeaderViewHeight = self.pickerHeaderView ? self.pickerHeaderView.bounds.size.height : 0;
|
|
||||||
pickerView.frame = CGRectMake(0, self.pickerStyle.titleBarHeight + pickerHeaderViewHeight, self.keyView.bounds.size.width, self.pickerStyle.pickerHeight);
|
|
||||||
|
|
||||||
[self.alertView addSubview:pickerView];
|
[self.alertView addSubview:pickerView];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -554,7 +487,7 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
|||||||
NSInteger index = [monthString integerValue] - 1;
|
NSInteger index = [monthString integerValue] - 1;
|
||||||
monthString = (index >= 0 && index < self.monthNames.count) ? self.monthNames[index] : @"";
|
monthString = (index >= 0 && index < self.monthNames.count) ? self.monthNames[index] : @"";
|
||||||
} else {
|
} else {
|
||||||
if (![self.pickerStyle.language hasPrefix:@"zh"] && (self.pickerMode == BRDatePickerModeYMD || self.pickerMode == BRDatePickerModeYM || self.pickerMode == BRDatePickerModeYMW)) {
|
if (![self.pickerStyle.language hasPrefix:@"zh"] && (self.pickerMode == BRDatePickerModeYMD || self.pickerMode == BRDatePickerModeYM)) {
|
||||||
// 非中文环境:月份使用系统的月份名称
|
// 非中文环境:月份使用系统的月份名称
|
||||||
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
||||||
dateFormatter.locale = [[NSLocale alloc]initWithLocaleIdentifier:self.pickerStyle.language];
|
dateFormatter.locale = [[NSLocale alloc]initWithLocaleIdentifier:self.pickerStyle.language];
|
||||||
@@ -625,32 +558,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
|||||||
return [NSString stringWithFormat:@"%@%@", secondString, secondUnit];
|
return [NSString stringWithFormat:@"%@%@", secondString, secondUnit];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)getWeekText:(NSArray *)weekArr row:(NSInteger)row {
|
|
||||||
NSInteger index = 0;
|
|
||||||
if (row >= 0) {
|
|
||||||
index = MIN(row, weekArr.count - 1);
|
|
||||||
}
|
|
||||||
NSString *weekString = [weekArr objectAtIndex:index];
|
|
||||||
if ((self.lastRowContent && [weekString isEqualToString:self.lastRowContent]) || (self.firstRowContent && [weekString isEqualToString:self.firstRowContent])) {
|
|
||||||
return weekString;
|
|
||||||
}
|
|
||||||
NSString *weekUnit = self.showUnitType == BRShowUnitTypeAll ? [self getWeekUnit] : @"";
|
|
||||||
return [NSString stringWithFormat:@"%@%@", weekString, weekUnit];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)getQuarterText:(NSArray *)quarterArr row:(NSInteger)row {
|
|
||||||
NSInteger index = 0;
|
|
||||||
if (row >= 0) {
|
|
||||||
index = MIN(row, quarterArr.count - 1);
|
|
||||||
}
|
|
||||||
NSString *quarterString = [quarterArr objectAtIndex:index];
|
|
||||||
if ((self.lastRowContent && [quarterString isEqualToString:self.lastRowContent]) || (self.firstRowContent && [quarterString isEqualToString:self.firstRowContent])) {
|
|
||||||
return quarterString;
|
|
||||||
}
|
|
||||||
NSString *quarterUnit = self.showUnitType == BRShowUnitTypeAll ? [self getQuarterUnit] : @"";
|
|
||||||
return [NSString stringWithFormat:@"%@%@", quarterString, quarterUnit];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)getAMText {
|
- (NSString *)getAMText {
|
||||||
return [NSBundle br_localizedStringForKey:@"上午" language:self.pickerStyle.language];
|
return [NSBundle br_localizedStringForKey:@"上午" language:self.pickerStyle.language];
|
||||||
}
|
}
|
||||||
@@ -722,26 +629,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
|||||||
return [NSBundle br_localizedStringForKey:@"秒" language:self.pickerStyle.language];
|
return [NSBundle br_localizedStringForKey:@"秒" language:self.pickerStyle.language];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)getWeekUnit {
|
|
||||||
if (self.customUnit) {
|
|
||||||
return self.customUnit[@"week"] ? : @"";
|
|
||||||
}
|
|
||||||
if (![self.pickerStyle.language hasPrefix:@"zh"]) {
|
|
||||||
return @"";
|
|
||||||
}
|
|
||||||
return [NSBundle br_localizedStringForKey:@"周" language:self.pickerStyle.language];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)getQuarterUnit {
|
|
||||||
if (self.customUnit) {
|
|
||||||
return self.customUnit[@"quarter"] ? : @"";
|
|
||||||
}
|
|
||||||
if (![self.pickerStyle.language hasPrefix:@"zh"]) {
|
|
||||||
return @"";
|
|
||||||
}
|
|
||||||
return [NSBundle br_localizedStringForKey:@"季度" language:self.pickerStyle.language];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSInteger)getIndexWithArray:(NSArray *)array object:(NSString *)obj {
|
- (NSInteger)getIndexWithArray:(NSArray *)array object:(NSString *)obj {
|
||||||
if (!array || array.count == 0 || !obj) {
|
if (!array || array.count == 0 || !obj) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
|||||||
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
||||||
BRDatePickerModeCountDownTimer,
|
BRDatePickerModeCountDownTimer,
|
||||||
|
|
||||||
// ----- 以下14种是自定义样式 -----
|
// ----- 以下11种是自定义样式 -----
|
||||||
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
||||||
BRDatePickerModeYMDHMS,
|
BRDatePickerModeYMDHMS,
|
||||||
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
||||||
@@ -46,14 +46,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
|||||||
/** 【HH:mm】时分 */
|
/** 【HH:mm】时分 */
|
||||||
BRDatePickerModeHM,
|
BRDatePickerModeHM,
|
||||||
/** 【mm:ss】分秒 */
|
/** 【mm:ss】分秒 */
|
||||||
BRDatePickerModeMS,
|
BRDatePickerModeMS
|
||||||
|
|
||||||
/** 【yyyy-qq】年季度 */
|
|
||||||
BRDatePickerModeYQ,
|
|
||||||
/** 【yyyy-MM-ww】年月周 */
|
|
||||||
BRDatePickerModeYMW,
|
|
||||||
/** 【yyyy-ww】年周 */
|
|
||||||
BRDatePickerModeYW
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// 日期单位显示的位置
|
/// 日期单位显示的位置
|
||||||
@@ -68,8 +61,6 @@ typedef NS_ENUM(NSInteger, BRShowUnitType) {
|
|||||||
|
|
||||||
typedef void (^BRDateResultBlock)(NSDate * _Nullable selectDate, NSString * _Nullable selectValue);
|
typedef void (^BRDateResultBlock)(NSDate * _Nullable selectDate, NSString * _Nullable selectValue);
|
||||||
|
|
||||||
typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDate * _Nullable selectEndDate, NSString * _Nullable selectValue);
|
|
||||||
|
|
||||||
@interface BRDatePickerView : BRBaseView
|
@interface BRDatePickerView : BRBaseView
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -94,13 +85,9 @@ typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDat
|
|||||||
|
|
||||||
/** 选择结果的回调 */
|
/** 选择结果的回调 */
|
||||||
@property (nullable, nonatomic, copy) BRDateResultBlock resultBlock;
|
@property (nullable, nonatomic, copy) BRDateResultBlock resultBlock;
|
||||||
/** 选择结果范围的回调:for `BRDatePickerModeYQ`、`BRDatePickerModeYMW`、`BRDatePickerModeYW`, ignored otherwise. */
|
|
||||||
@property (nullable, nonatomic, copy) BRDateResultRangeBlock resultRangeBlock;
|
|
||||||
|
|
||||||
/** 滚动选择时触发的回调 */
|
/** 滚动选择时触发的回调 */
|
||||||
@property (nullable, nonatomic, copy) BRDateResultBlock changeBlock;
|
@property (nullable, nonatomic, copy) BRDateResultBlock changeBlock;
|
||||||
/** 滚动选择范围时触发的回调:for `BRDatePickerModeYQ`、`BRDatePickerModeYMW`、`BRDatePickerModeYW`, ignored otherwise. */
|
|
||||||
@property (nullable, nonatomic, copy) BRDateResultRangeBlock changeRangeBlock;
|
|
||||||
|
|
||||||
/** 日期单位显示类型 */
|
/** 日期单位显示类型 */
|
||||||
@property (nonatomic, assign) BRShowUnitType showUnitType;
|
@property (nonatomic, assign) BRShowUnitType showUnitType;
|
||||||
@@ -247,27 +234,6 @@ typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDat
|
|||||||
isAutoSelect:(BOOL)isAutoSelect
|
isAutoSelect:(BOOL)isAutoSelect
|
||||||
resultBlock:(nullable BRDateResultBlock)resultBlock;
|
resultBlock:(nullable BRDateResultBlock)resultBlock;
|
||||||
|
|
||||||
/**
|
|
||||||
* 3.显示日期选择器
|
|
||||||
*
|
|
||||||
* @param mode 日期显示类型
|
|
||||||
* @param title 选择器标题
|
|
||||||
* @param selectValue 默认选中的日期(默认选中当前日期)
|
|
||||||
* @param minDate 最小日期(可使用 NSDate+BRPickerView 分类中对应的方法进行创建)
|
|
||||||
* @param maxDate 最大日期(可使用 NSDate+BRPickerView 分类中对应的方法进行创建)
|
|
||||||
* @param isAutoSelect 是否自动选择,即滚动选择器后就执行结果回调,默认为 NO
|
|
||||||
* @param resultBlock 选择结果的回调
|
|
||||||
* @param resultRangeBlock 范围选择结果的回调
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
+ (void)showDatePickerWithMode:(BRDatePickerMode)mode
|
|
||||||
title:(nullable NSString *)title
|
|
||||||
selectValue:(nullable NSString *)selectValue
|
|
||||||
minDate:(nullable NSDate *)minDate
|
|
||||||
maxDate:(nullable NSDate *)maxDate
|
|
||||||
isAutoSelect:(BOOL)isAutoSelect
|
|
||||||
resultBlock:(nullable BRDateResultBlock)resultBlock
|
|
||||||
resultRangeBlock:(nullable BRDateResultRangeBlock)resultRangeBlock;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -36,11 +36,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
@property(nonatomic, copy) NSArray *minuteArr;
|
@property(nonatomic, copy) NSArray *minuteArr;
|
||||||
@property(nonatomic, copy) NSArray *secondArr;
|
@property(nonatomic, copy) NSArray *secondArr;
|
||||||
|
|
||||||
/// 月周、年周、季度数组
|
|
||||||
@property(nonatomic, copy) NSArray *monthWeekArr;
|
|
||||||
@property(nonatomic, copy) NSArray *yearWeekArr;
|
|
||||||
@property(nonatomic, copy) NSArray *quarterArr;
|
|
||||||
|
|
||||||
/// 记录 年、月、日、时、分、秒 当前选择的位置
|
/// 记录 年、月、日、时、分、秒 当前选择的位置
|
||||||
@property(nonatomic, assign) NSInteger yearIndex;
|
@property(nonatomic, assign) NSInteger yearIndex;
|
||||||
@property(nonatomic, assign) NSInteger monthIndex;
|
@property(nonatomic, assign) NSInteger monthIndex;
|
||||||
@@ -49,11 +44,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
@property(nonatomic, assign) NSInteger minuteIndex;
|
@property(nonatomic, assign) NSInteger minuteIndex;
|
||||||
@property(nonatomic, assign) NSInteger secondIndex;
|
@property(nonatomic, assign) NSInteger secondIndex;
|
||||||
|
|
||||||
/// 月周、年周、季度 当前选择的位置
|
|
||||||
@property(nonatomic, assign) NSInteger monthWeekIndex;
|
|
||||||
@property(nonatomic, assign) NSInteger yearWeekIndex;
|
|
||||||
@property(nonatomic, assign) NSInteger quarterIndex;
|
|
||||||
|
|
||||||
// 记录选择的值
|
// 记录选择的值
|
||||||
@property (nonatomic, strong) NSDate *mSelectDate;
|
@property (nonatomic, strong) NSDate *mSelectDate;
|
||||||
@property (nonatomic, copy) NSString *mSelectValue;
|
@property (nonatomic, copy) NSString *mSelectValue;
|
||||||
@@ -96,18 +86,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
maxDate:(NSDate *)maxDate
|
maxDate:(NSDate *)maxDate
|
||||||
isAutoSelect:(BOOL)isAutoSelect
|
isAutoSelect:(BOOL)isAutoSelect
|
||||||
resultBlock:(BRDateResultBlock)resultBlock {
|
resultBlock:(BRDateResultBlock)resultBlock {
|
||||||
[self showDatePickerWithMode:mode title:title selectValue:selectValue minDate:nil maxDate:nil isAutoSelect:isAutoSelect resultBlock:resultBlock resultRangeBlock:nil];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 4.显示日期选择器
|
|
||||||
+ (void)showDatePickerWithMode:(BRDatePickerMode)mode
|
|
||||||
title:(NSString *)title
|
|
||||||
selectValue:(NSString *)selectValue
|
|
||||||
minDate:(NSDate *)minDate
|
|
||||||
maxDate:(NSDate *)maxDate
|
|
||||||
isAutoSelect:(BOOL)isAutoSelect
|
|
||||||
resultBlock:(BRDateResultBlock)resultBlock
|
|
||||||
resultRangeBlock:(BRDateResultRangeBlock)resultRangeBlock {
|
|
||||||
// 创建日期选择器
|
// 创建日期选择器
|
||||||
BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init];
|
BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init];
|
||||||
datePickerView.pickerMode = mode;
|
datePickerView.pickerMode = mode;
|
||||||
@@ -117,7 +95,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
datePickerView.maxDate = maxDate;
|
datePickerView.maxDate = maxDate;
|
||||||
datePickerView.isAutoSelect = isAutoSelect;
|
datePickerView.isAutoSelect = isAutoSelect;
|
||||||
datePickerView.resultBlock = resultBlock;
|
datePickerView.resultBlock = resultBlock;
|
||||||
datePickerView.resultRangeBlock = resultRangeBlock;
|
|
||||||
// 显示
|
// 显示
|
||||||
[datePickerView show];
|
[datePickerView show];
|
||||||
}
|
}
|
||||||
@@ -182,9 +159,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = nil;
|
self.hourArr = nil;
|
||||||
self.minuteArr = nil;
|
self.minuteArr = nil;
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BRDatePickerModeMDHM:
|
case BRDatePickerModeMDHM:
|
||||||
@@ -196,9 +170,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = nil;
|
self.hourArr = nil;
|
||||||
self.minuteArr = nil;
|
self.minuteArr = nil;
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BRDatePickerModeHMS:
|
case BRDatePickerModeHMS:
|
||||||
@@ -210,9 +181,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
||||||
self.minuteArr = nil;
|
self.minuteArr = nil;
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BRDatePickerModeMS:
|
case BRDatePickerModeMS:
|
||||||
@@ -223,48 +191,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
||||||
self.minuteArr = [self getMinuteArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour];
|
self.minuteArr = [self getMinuteArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour];
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYMW:
|
|
||||||
{
|
|
||||||
self.yearArr = [self getYearArr];
|
|
||||||
self.monthArr = [self getMonthArr:self.mSelectDate.br_year];
|
|
||||||
self.monthWeekArr = [self getMonthWeekArr:self.mSelectDate.br_year month:self.mSelectDate.br_month];
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
self.dayArr = nil;
|
|
||||||
self.hourArr = nil;
|
|
||||||
self.minuteArr = nil;
|
|
||||||
self.secondArr = nil;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYW:
|
|
||||||
{
|
|
||||||
self.yearArr = [self getYearArr];
|
|
||||||
self.monthArr = nil;
|
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = [self getYearWeekArr:self.mSelectDate.br_year];
|
|
||||||
self.quarterArr = nil;
|
|
||||||
self.dayArr = nil;
|
|
||||||
self.hourArr = nil;
|
|
||||||
self.minuteArr = nil;
|
|
||||||
self.secondArr = nil;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYQ:
|
|
||||||
{
|
|
||||||
self.yearArr = [self getYearArr];
|
|
||||||
self.monthArr = nil;
|
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = [self getQuarterArr:self.mSelectDate.br_year];;
|
|
||||||
self.dayArr = nil;
|
|
||||||
self.hourArr = nil;
|
|
||||||
self.minuteArr = nil;
|
|
||||||
self.secondArr = nil;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -278,10 +204,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
self.hourArr = [self getHourArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day];
|
||||||
self.minuteArr = [self getMinuteArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour];
|
self.minuteArr = [self getMinuteArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour];
|
||||||
self.secondArr = [self getSecondArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour minute:self.mSelectDate.br_minute];
|
self.secondArr = [self getSecondArr:self.mSelectDate.br_year month:self.mSelectDate.br_month day:self.mSelectDate.br_day hour:self.mSelectDate.br_hour minute:self.mSelectDate.br_minute];
|
||||||
|
|
||||||
self.monthWeekArr = [self getMonthWeekArr:self.mSelectDate.br_year month:self.mSelectDate.br_month];
|
|
||||||
self.yearWeekArr = [self getYearWeekArr:self.mSelectDate.br_year];
|
|
||||||
self.quarterArr = [self getQuarterArr:self.mSelectDate.br_year];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -393,27 +315,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.unitArr = @[[self getMinuteUnit], [self getSecondUnit]];
|
self.unitArr = @[[self getMinuteUnit], [self getSecondUnit]];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BRDatePickerModeYMW:
|
|
||||||
{
|
|
||||||
self.dateFormatter = @"yyyy-MM-WW";
|
|
||||||
self.style = BRDatePickerStyleCustom;
|
|
||||||
self.unitArr = @[[self getYearUnit], [self getMonthUnit], [self getWeekUnit]];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYW:
|
|
||||||
{
|
|
||||||
self.dateFormatter = @"yyyy-ww";
|
|
||||||
self.style = BRDatePickerStyleCustom;
|
|
||||||
self.unitArr = @[[self getYearUnit], [self getWeekUnit]];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYQ:
|
|
||||||
{
|
|
||||||
self.dateFormatter = @"yyyy-qq";
|
|
||||||
self.style = BRDatePickerStyleCustom;
|
|
||||||
self.unitArr = @[[self getYearUnit], [self getQuarterUnit]];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -422,11 +323,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
|
|
||||||
#pragma mark - 更新日期数据源数组
|
#pragma mark - 更新日期数据源数组
|
||||||
- (void)reloadDateArrayWithUpdateMonth:(BOOL)updateMonth updateDay:(BOOL)updateDay updateHour:(BOOL)updateHour updateMinute:(BOOL)updateMinute updateSecond:(BOOL)updateSecond {
|
- (void)reloadDateArrayWithUpdateMonth:(BOOL)updateMonth updateDay:(BOOL)updateDay updateHour:(BOOL)updateHour updateMinute:(BOOL)updateMinute updateSecond:(BOOL)updateSecond {
|
||||||
[self reloadDateArrayWithUpdateMonth:updateMonth updateDay:updateDay updateHour:updateHour updateMinute:updateMinute updateSecond:NO updateWeekOfMonth:NO updateWeekOfYear:NO updateQuarter:NO];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)reloadDateArrayWithUpdateMonth:(BOOL)updateMonth updateDay:(BOOL)updateDay updateHour:(BOOL)updateHour updateMinute:(BOOL)updateMinute updateSecond:(BOOL)updateSecond
|
|
||||||
updateWeekOfMonth:(BOOL)updateWeekOfMonth updateWeekOfYear:(BOOL)updateWeekOfYear updateQuarter:(BOOL)updateQuarter {
|
|
||||||
_isAdjustSelectRow = NO;
|
_isAdjustSelectRow = NO;
|
||||||
// 1.更新 monthArr
|
// 1.更新 monthArr
|
||||||
if (self.yearArr.count == 0) {
|
if (self.yearArr.count == 0) {
|
||||||
@@ -439,9 +335,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = nil;
|
self.hourArr = nil;
|
||||||
self.minuteArr = nil;
|
self.minuteArr = nil;
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
self.yearWeekArr = nil;
|
|
||||||
self.quarterArr = nil;
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -462,42 +355,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1/1.更新 yearWeekArr
|
|
||||||
if (updateWeekOfYear) {
|
|
||||||
NSString *lastSelectWeekOfYear = [self getMDHMSNumber:self.mSelectDate.br_yearWeek];
|
|
||||||
self.yearWeekArr = [self getYearWeekArr:[yearString integerValue]];
|
|
||||||
if (self.mSelectDate) {
|
|
||||||
if ([self.yearWeekArr containsObject:lastSelectWeekOfYear]) {
|
|
||||||
NSInteger yearWeekIndex = [self.yearWeekArr indexOfObject:lastSelectWeekOfYear];
|
|
||||||
if (yearWeekIndex != self.yearWeekIndex) {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.monthIndex = yearWeekIndex;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.yearWeekIndex = ([lastSelectWeekOfYear intValue] < [self.yearWeekArr.firstObject intValue]) ? 0 : (self.yearWeekArr.count - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1/1.更新 quarterArr
|
|
||||||
if (updateQuarter) {
|
|
||||||
NSString *lastSelectQuarter = [self getMDHMSNumber:self.mSelectDate.br_quarter];
|
|
||||||
self.quarterArr = [self getQuarterArr:[yearString integerValue]];
|
|
||||||
if (self.mSelectDate) {
|
|
||||||
if ([self.quarterArr containsObject:lastSelectQuarter]) {
|
|
||||||
NSInteger quarterIndex = [self.quarterArr indexOfObject:lastSelectQuarter];
|
|
||||||
if (quarterIndex != self.quarterIndex) {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.quarterIndex = quarterIndex;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.quarterIndex = ([lastSelectQuarter intValue] < [self.quarterArr.firstObject intValue]) ? 0 : (self.quarterArr.count - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2.更新 dayArr
|
// 2.更新 dayArr
|
||||||
if (self.monthArr.count == 0) {
|
if (self.monthArr.count == 0) {
|
||||||
return;
|
return;
|
||||||
@@ -508,7 +365,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.hourArr = nil;
|
self.hourArr = nil;
|
||||||
self.minuteArr = nil;
|
self.minuteArr = nil;
|
||||||
self.secondArr = nil;
|
self.secondArr = nil;
|
||||||
self.monthWeekArr = nil;
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -529,24 +385,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2/1.更新 monthWeekArr
|
|
||||||
if (updateWeekOfMonth) {
|
|
||||||
NSString *lastWeekOfMonth = [self getMDHMSNumber:self.mSelectDate.br_monthWeek];
|
|
||||||
self.monthWeekArr = [self getMonthWeekArr:[yearString integerValue] month:[monthString integerValue]];
|
|
||||||
if (self.mSelectDate) {
|
|
||||||
if ([self.monthWeekArr containsObject:lastWeekOfMonth]) {
|
|
||||||
NSInteger monthWeekIndex = [self.monthWeekArr indexOfObject:lastWeekOfMonth];
|
|
||||||
if (monthWeekIndex != self.monthWeekIndex) {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.monthWeekIndex = monthWeekIndex;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_isAdjustSelectRow = YES;
|
|
||||||
self.monthWeekIndex = ([lastWeekOfMonth intValue] < [self.monthWeekArr.firstObject intValue]) ? 0 : (self.monthWeekArr.count - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3.更新 hourArr
|
// 3.更新 hourArr
|
||||||
if (self.dayArr.count == 0) {
|
if (self.dayArr.count == 0) {
|
||||||
return;
|
return;
|
||||||
@@ -668,12 +506,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
indexArr = @[@(self.hourIndex), @(self.minuteIndex)];
|
indexArr = @[@(self.hourIndex), @(self.minuteIndex)];
|
||||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||||
indexArr = @[@(self.minuteIndex), @(self.secondIndex)];
|
indexArr = @[@(self.minuteIndex), @(self.secondIndex)];
|
||||||
} else if (self.pickerMode == BRDatePickerModeYMW) {
|
|
||||||
indexArr = @[@(self.yearIndex), @(self.monthIndex), @(self.monthWeekIndex)];
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYW) {
|
|
||||||
indexArr = @[@(self.yearIndex), @(self.yearWeekIndex)];
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYQ) {
|
|
||||||
indexArr = @[@(self.yearIndex), @(self.quarterIndex)];
|
|
||||||
}
|
}
|
||||||
if (!indexArr) return;
|
if (!indexArr) return;
|
||||||
for (NSInteger i = 0; i < indexArr.count; i++) {
|
for (NSInteger i = 0; i < indexArr.count; i++) {
|
||||||
@@ -690,15 +522,12 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
case BRDatePickerModeYMD:
|
case BRDatePickerModeYMD:
|
||||||
case BRDatePickerModeYM:
|
case BRDatePickerModeYM:
|
||||||
case BRDatePickerModeY:
|
case BRDatePickerModeY:
|
||||||
case BRDatePickerModeYMW:
|
|
||||||
case BRDatePickerModeYW:
|
|
||||||
case BRDatePickerModeYQ:
|
|
||||||
{
|
{
|
||||||
NSInteger yearIndex = ([self.selectValue isEqualToString:self.lastRowContent] && self.yearArr.count > 0) ? self.yearArr.count - 1 : 0;
|
NSInteger yearIndex = ([self.selectValue isEqualToString:self.lastRowContent] && self.yearArr.count > 0) ? self.yearArr.count - 1 : 0;
|
||||||
NSInteger component = 0;
|
NSInteger component = 0;
|
||||||
if ((self.pickerMode == BRDatePickerModeYMD || self.pickerMode == BRDatePickerModeYMW) && ![self.pickerStyle.language hasPrefix:@"zh"]) {
|
if (self.pickerMode == BRDatePickerModeYMD && ![self.pickerStyle.language hasPrefix:@"zh"]) {
|
||||||
component = 2;
|
component = 2;
|
||||||
} else if ((self.pickerMode == BRDatePickerModeYM || self.pickerMode == BRDatePickerModeYQ) && ![self.pickerStyle.language hasPrefix:@"zh"]) {
|
} else if (self.pickerMode == BRDatePickerModeYM && ![self.pickerStyle.language hasPrefix:@"zh"]) {
|
||||||
component = 1;
|
component = 1;
|
||||||
}
|
}
|
||||||
[self.pickerView selectRow:yearIndex inComponent:component animated:animated];
|
[self.pickerView selectRow:yearIndex inComponent:component animated:animated];
|
||||||
@@ -781,12 +610,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
return 2;
|
return 2;
|
||||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||||
return 2;
|
return 2;
|
||||||
} else if (self.pickerMode == BRDatePickerModeYMW) {
|
|
||||||
return 3;
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYW) {
|
|
||||||
return 2;
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYQ) {
|
|
||||||
return 2;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -824,12 +647,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
rowsArr = @[@(self.hourArr.count), @(self.minuteArr.count)];
|
rowsArr = @[@(self.hourArr.count), @(self.minuteArr.count)];
|
||||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||||
rowsArr = @[@(self.minuteArr.count), @(self.secondArr.count)];
|
rowsArr = @[@(self.minuteArr.count), @(self.secondArr.count)];
|
||||||
} else if (self.pickerMode == BRDatePickerModeYMW) {
|
|
||||||
rowsArr = @[@(self.yearArr.count), @(self.monthArr.count), @(self.monthWeekArr.count)];
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYW) {
|
|
||||||
rowsArr = @[@(self.yearArr.count), @(self.yearWeekArr.count)];
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYQ) {
|
|
||||||
rowsArr = @[@(self.yearArr.count), @(self.quarterArr.count)];
|
|
||||||
}
|
}
|
||||||
if (component >= 0 && component < rowsArr.count) {
|
if (component >= 0 && component < rowsArr.count) {
|
||||||
return [rowsArr[component] integerValue];
|
return [rowsArr[component] integerValue];
|
||||||
@@ -953,26 +770,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
} else if (component == 1) {
|
} else if (component == 1) {
|
||||||
titleString = [self getSecondText:self.secondArr row:row];
|
titleString = [self getSecondText:self.secondArr row:row];
|
||||||
}
|
}
|
||||||
} else if (self.pickerMode == BRDatePickerModeYMW) {
|
|
||||||
if (component == 0) {
|
|
||||||
titleString = [self getYearText:self.yearArr row:row];
|
|
||||||
} else if (component == 1) {
|
|
||||||
titleString = [self getMonthText:self.monthArr row:row];
|
|
||||||
} else if (component == 2) {
|
|
||||||
titleString = [self getWeekText:self.monthWeekArr row:row];
|
|
||||||
}
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYW) {
|
|
||||||
if (component == 0) {
|
|
||||||
titleString = [self getYearText:self.yearArr row:row];
|
|
||||||
} else if (component == 1) {
|
|
||||||
titleString = [self getWeekText:self.yearWeekArr row:row];
|
|
||||||
}
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYQ) {
|
|
||||||
if (component == 0) {
|
|
||||||
titleString = [self getYearText:self.yearArr row:row];
|
|
||||||
} else if (component == 1) {
|
|
||||||
titleString = [self getQuarterText:self.quarterArr row:row];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return titleString;
|
return titleString;
|
||||||
@@ -1371,84 +1168,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.mSelectValue = self.firstRowContent;
|
self.mSelectValue = self.firstRowContent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (self.pickerMode == BRDatePickerModeYMW) {
|
|
||||||
if (component == 0) {
|
|
||||||
self.yearIndex = row;
|
|
||||||
[self reloadDateArrayWithUpdateMonth:YES updateDay:NO updateHour:NO updateMinute:NO updateSecond:NO updateWeekOfMonth:YES updateWeekOfYear:NO updateQuarter:NO];
|
|
||||||
[self.pickerView reloadComponent:1];
|
|
||||||
[self.pickerView reloadComponent:2];
|
|
||||||
} else if (component == 1) {
|
|
||||||
self.monthIndex = row;
|
|
||||||
[self reloadDateArrayWithUpdateMonth:NO updateDay:NO updateHour:NO updateMinute:NO updateSecond:NO updateWeekOfMonth:YES updateWeekOfYear:NO updateQuarter:NO];
|
|
||||||
[self.pickerView reloadComponent:2];
|
|
||||||
} else if (component == 2) {
|
|
||||||
self.monthWeekIndex = row;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *yearString = [self getYearString];
|
|
||||||
if (![yearString isEqualToString:self.lastRowContent] && ![yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
if (self.yearArr.count * self.monthArr.count * self.monthWeekArr.count == 0) return;
|
|
||||||
int year = [[self getYearString] intValue];
|
|
||||||
int month = [[self getMonthString] intValue];
|
|
||||||
int week = [[self getMonthWeekString] intValue];
|
|
||||||
self.mSelectDate = [NSDate br_setYear:year month:month weekOfMonth:week];
|
|
||||||
self.mSelectValue = [NSString stringWithFormat:@"%04d-%02d-%02d", year, month, week];
|
|
||||||
} else {
|
|
||||||
self.mSelectDate = self.addToNow ? [NSDate date] : nil;
|
|
||||||
if ([yearString isEqualToString:self.lastRowContent]) {
|
|
||||||
self.mSelectValue = self.lastRowContent;
|
|
||||||
} else if ([yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
self.mSelectValue = self.firstRowContent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYW) {
|
|
||||||
if (component == 0) {
|
|
||||||
self.yearIndex = row;
|
|
||||||
[self reloadDateArrayWithUpdateMonth:NO updateDay:NO updateHour:NO updateMinute:NO updateSecond:NO updateWeekOfMonth:NO updateWeekOfYear:YES updateQuarter:NO];
|
|
||||||
[self.pickerView reloadComponent:1];
|
|
||||||
} else if (component == 1) {
|
|
||||||
self.yearWeekIndex = row;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *yearString = [self getYearString];
|
|
||||||
if (![yearString isEqualToString:self.lastRowContent] && ![yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
if (self.yearArr.count * self.monthArr.count * self.monthWeekArr.count == 0) return;
|
|
||||||
int year = [[self getYearString] intValue];
|
|
||||||
int week = [[self getYearWeekString] intValue];
|
|
||||||
self.mSelectDate = [NSDate br_setYear:year weekOfYear:week];
|
|
||||||
self.mSelectValue = [NSString stringWithFormat:@"%04d-%02d", year, week];
|
|
||||||
} else {
|
|
||||||
self.mSelectDate = self.addToNow ? [NSDate date] : nil;
|
|
||||||
if ([yearString isEqualToString:self.lastRowContent]) {
|
|
||||||
self.mSelectValue = self.lastRowContent;
|
|
||||||
} else if ([yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
self.mSelectValue = self.firstRowContent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (self.pickerMode == BRDatePickerModeYQ) {
|
|
||||||
if (component == 0) {
|
|
||||||
self.yearIndex = row;
|
|
||||||
[self reloadDateArrayWithUpdateMonth:NO updateDay:NO updateHour:NO updateMinute:NO updateSecond:NO updateWeekOfMonth:NO updateWeekOfYear:NO updateQuarter:YES];
|
|
||||||
[self.pickerView reloadComponent:1];
|
|
||||||
} else if (component == 1) {
|
|
||||||
self.quarterIndex = row;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *yearString = [self getYearString];
|
|
||||||
if (![yearString isEqualToString:self.lastRowContent] && ![yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
if (self.yearArr.count * self.monthArr.count * self.monthWeekArr.count == 0) return;
|
|
||||||
int year = [[self getYearString] intValue];
|
|
||||||
int quarter = [[self getQuarterString] intValue];
|
|
||||||
self.mSelectDate = [NSDate br_setYear:year quarter:quarter];
|
|
||||||
self.mSelectValue = [NSString stringWithFormat:@"%04d-%02d", year, quarter];
|
|
||||||
} else {
|
|
||||||
self.mSelectDate = self.addToNow ? [NSDate date] : nil;
|
|
||||||
if ([yearString isEqualToString:self.lastRowContent]) {
|
|
||||||
self.mSelectValue = self.lastRowContent;
|
|
||||||
} else if ([yearString isEqualToString:self.firstRowContent]) {
|
|
||||||
self.mSelectValue = self.firstRowContent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 纠正选择日期(解决:由【自定义字符串】滚动到 其它日期时,或设置 minDate,日期联动不正确问题)
|
// 纠正选择日期(解决:由【自定义字符串】滚动到 其它日期时,或设置 minDate,日期联动不正确问题)
|
||||||
@@ -1482,20 +1201,12 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.changeBlock(self.mSelectDate, self.mSelectValue);
|
self.changeBlock(self.mSelectDate, self.mSelectValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 滚动选择范围时执行 changeBlock 回调
|
|
||||||
if (self.changeRangeBlock) {
|
|
||||||
self.changeRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置自动选择时,滚动选择时就执行 resultBlock
|
// 设置自动选择时,滚动选择时就执行 resultBlock
|
||||||
if (self.isAutoSelect) {
|
if (self.isAutoSelect) {
|
||||||
// 滚动完成后,执行block回调
|
// 滚动完成后,执行block回调
|
||||||
if (self.resultBlock) {
|
if (self.resultBlock) {
|
||||||
self.resultBlock(self.mSelectDate, self.mSelectValue);
|
self.resultBlock(self.mSelectDate, self.mSelectValue);
|
||||||
}
|
}
|
||||||
if (self.resultRangeBlock) {
|
|
||||||
self.resultRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1529,20 +1240,12 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
self.changeBlock(self.mSelectDate, self.mSelectValue);
|
self.changeBlock(self.mSelectDate, self.mSelectValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 滚动选择范围时执行 changeBlock 回调
|
|
||||||
if (self.changeRangeBlock) {
|
|
||||||
self.changeRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置自动选择时,滚动选择时就执行 resultBlock
|
// 设置自动选择时,滚动选择时就执行 resultBlock
|
||||||
if (self.isAutoSelect) {
|
if (self.isAutoSelect) {
|
||||||
// 滚动完成后,执行block回调
|
// 滚动完成后,执行block回调
|
||||||
if (self.resultBlock) {
|
if (self.resultBlock) {
|
||||||
self.resultBlock(self.mSelectDate, self.mSelectValue);
|
self.resultBlock(self.mSelectDate, self.mSelectValue);
|
||||||
}
|
}
|
||||||
if (self.resultRangeBlock) {
|
|
||||||
self.resultRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1631,9 +1334,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
if (weakSelf.resultBlock) {
|
if (weakSelf.resultBlock) {
|
||||||
weakSelf.resultBlock(weakSelf.mSelectDate, weakSelf.mSelectValue);
|
weakSelf.resultBlock(weakSelf.mSelectDate, weakSelf.mSelectValue);
|
||||||
}
|
}
|
||||||
if (weakSelf.resultRangeBlock) {
|
|
||||||
weakSelf.resultRangeBlock(weakSelf.getSelectRangeDate.firstObject, weakSelf.getSelectRangeDate.lastObject, weakSelf.mSelectValue);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
[super addPickerToView:view];
|
[super addPickerToView:view];
|
||||||
@@ -1858,108 +1558,4 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
|||||||
return [self.secondArr objectAtIndex:index];
|
return [self.secondArr objectAtIndex:index];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)getMonthWeekString {
|
|
||||||
NSInteger index = 0;
|
|
||||||
if (self.monthWeekIndex >= 0 && self.monthWeekIndex < self.monthWeekArr.count) {
|
|
||||||
index = self.monthWeekIndex;
|
|
||||||
}
|
|
||||||
return [self.monthWeekArr objectAtIndex:index];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)getYearWeekString {
|
|
||||||
NSInteger index = 0;
|
|
||||||
if (self.yearWeekIndex >= 0 && self.yearWeekIndex < self.yearWeekArr.count) {
|
|
||||||
index = self.yearWeekIndex;
|
|
||||||
}
|
|
||||||
return [self.yearWeekArr objectAtIndex:index];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSString *)getQuarterString {
|
|
||||||
NSInteger index = 0;
|
|
||||||
if (self.quarterIndex >= 0 && self.quarterIndex < self.quarterArr.count) {
|
|
||||||
index = self.quarterIndex;
|
|
||||||
}
|
|
||||||
return [self.quarterArr objectAtIndex:index];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取选中日期范围
|
|
||||||
- (NSArray<NSDate *> *)getSelectRangeDate {
|
|
||||||
NSDate *startDate, *endDate = nil;
|
|
||||||
switch (self.pickerMode) {
|
|
||||||
case BRDatePickerModeYMDHMS:
|
|
||||||
case BRDatePickerModeMS:
|
|
||||||
case BRDatePickerModeHMS:
|
|
||||||
{
|
|
||||||
endDate = self.mSelectDate;
|
|
||||||
startDate = self.mSelectDate;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYMDHM:
|
|
||||||
case BRDatePickerModeMDHM:
|
|
||||||
case BRDatePickerModeHM:
|
|
||||||
case BRDatePickerModeDateAndTime:
|
|
||||||
case BRDatePickerModeTime:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
startDate = tempDate;
|
|
||||||
endDate = [tempDate dateByAddingTimeInterval:59];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYMDH:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
startDate = tempDate;
|
|
||||||
endDate = [tempDate dateByAddingTimeInterval:60 * 59 + 59];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeMD:
|
|
||||||
case BRDatePickerModeYMD:
|
|
||||||
case BRDatePickerModeDate:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
startDate = tempDate;
|
|
||||||
endDate = [[tempDate br_getNewDateToDays:1] dateByAddingTimeInterval:-1];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYM:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
startDate = tempDate;
|
|
||||||
endDate = [[tempDate br_getNewDateToMonths:1] dateByAddingTimeInterval:-1];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeY:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
startDate = tempDate;
|
|
||||||
endDate = [[tempDate br_getNewDateToMonths:12] dateByAddingTimeInterval:-1];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYMW:
|
|
||||||
case BRDatePickerModeYW:
|
|
||||||
{
|
|
||||||
NSDate *tempDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
endDate = [tempDate dateByAddingTimeInterval:-1];
|
|
||||||
startDate = [tempDate br_getNewDateToDays:-7];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BRDatePickerModeYQ:
|
|
||||||
{
|
|
||||||
startDate = [self br_dateFromString:self.mSelectValue dateFormat:self.dateFormatter];
|
|
||||||
endDate = [[startDate br_getNewDateToMonths:3] dateByAddingTimeInterval:-1];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSMutableArray *dataArr = [NSMutableArray array];
|
|
||||||
if (startDate)
|
|
||||||
[dataArr addObject:startDate];
|
|
||||||
if (endDate)
|
|
||||||
[dataArr addObject:endDate];
|
|
||||||
return dataArr;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -13,16 +13,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface NSDate (BRPickerView)
|
@interface NSDate (BRPickerView)
|
||||||
/// 获取指定date的详细信息
|
/// 获取指定date的详细信息
|
||||||
@property (readonly) NSInteger br_year; // 年
|
@property (readonly) NSInteger br_year; // 年
|
||||||
@property (readonly) NSInteger br_month; // 月
|
@property (readonly) NSInteger br_month; // 月
|
||||||
@property (readonly) NSInteger br_day; // 日
|
@property (readonly) NSInteger br_day; // 日
|
||||||
@property (readonly) NSInteger br_hour; // 时
|
@property (readonly) NSInteger br_hour; // 时
|
||||||
@property (readonly) NSInteger br_minute; // 分
|
@property (readonly) NSInteger br_minute; // 分
|
||||||
@property (readonly) NSInteger br_second; // 秒
|
@property (readonly) NSInteger br_second; // 秒
|
||||||
@property (readonly) NSInteger br_weekday; // 星期
|
@property (readonly) NSInteger br_weekday; // 星期
|
||||||
@property (readonly) NSInteger br_monthWeek; // 月周
|
|
||||||
@property (readonly) NSInteger br_yearWeek; // 年周
|
|
||||||
@property (readonly) NSInteger br_quarter; // 季度
|
|
||||||
|
|
||||||
/** 获取中文星期字符串 */
|
/** 获取中文星期字符串 */
|
||||||
@property (nullable, nonatomic, readonly, copy) NSString *br_weekdayString;
|
@property (nullable, nonatomic, readonly, copy) NSString *br_weekdayString;
|
||||||
@@ -68,33 +65,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
/** mm:ss */
|
/** mm:ss */
|
||||||
+ (nullable NSDate *)br_setMinute:(NSInteger)minute second:(NSInteger)second;
|
+ (nullable NSDate *)br_setMinute:(NSInteger)minute second:(NSInteger)second;
|
||||||
|
|
||||||
/** yyyy-MM-ww */
|
|
||||||
+ (nullable NSDate *)br_setYear:(NSInteger)year month:(NSInteger)month weekOfMonth:(NSInteger)weekOfMont;
|
|
||||||
|
|
||||||
/** yyyy-ww */
|
|
||||||
+ (nullable NSDate *)br_setYear:(NSInteger)year weekOfYear:(NSInteger)weekOfYear;
|
|
||||||
|
|
||||||
/** yyyy-qq */
|
|
||||||
+ (nullable NSDate *)br_setYear:(NSInteger)year quarter:(NSInteger)quarter;
|
|
||||||
|
|
||||||
|
|
||||||
/** 获取某个月的天数(通过年月求每月天数)*/
|
/** 获取某个月的天数(通过年月求每月天数)*/
|
||||||
+ (NSUInteger)br_getDaysInYear:(NSInteger)year month:(NSInteger)month;
|
+ (NSUInteger)br_getDaysInYear:(NSInteger)year month:(NSInteger)month;
|
||||||
|
|
||||||
/** 获取某个月的周数(通过年月求该月周数)*/
|
|
||||||
+ (NSUInteger)br_getWeeksOfMonthInYear:(NSInteger)year month:(NSInteger)month;
|
|
||||||
|
|
||||||
/** 获取某一年的周数(通过年求该年周数)*/
|
|
||||||
+ (NSUInteger)br_getWeeksOfYearInYear:(NSInteger)year;
|
|
||||||
|
|
||||||
/** 获取某一年的季度数(通过年求该年季度数)*/
|
|
||||||
+ (NSUInteger)br_getQuartersInYear:(NSInteger)year;
|
|
||||||
|
|
||||||
/** 获取 日期加上/减去某天数后的新日期 */
|
/** 获取 日期加上/减去某天数后的新日期 */
|
||||||
- (nullable NSDate *)br_getNewDateToDays:(NSTimeInterval)days;
|
- (nullable NSDate *)br_getNewDateToDays:(NSTimeInterval)days;
|
||||||
|
|
||||||
/** 获取 日期加上/减去某个月数后的新日期 */
|
|
||||||
- (nullable NSDate *)br_getNewDateToMonths:(NSTimeInterval)months;
|
|
||||||
|
|
||||||
/** NSDate 转 NSString */
|
/** NSDate 转 NSString */
|
||||||
+ (nullable NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat;
|
+ (nullable NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
BRSYNTH_DUMMY_CLASS(NSDate_BRPickerView)
|
BRSYNTH_DUMMY_CLASS(NSDate_BRPickerView)
|
||||||
|
|
||||||
static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekOfYear | NSCalendarUnitWeekOfMonth | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday | NSCalendarUnitWeekdayOrdinal | NSCalendarUnitQuarter);
|
static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekOfMonth | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday | NSCalendarUnitWeekdayOrdinal);
|
||||||
|
|
||||||
@implementation NSDate (BRPickerView)
|
@implementation NSDate (BRPickerView)
|
||||||
|
|
||||||
@@ -78,28 +78,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
|||||||
return [NSDate br_componentsFromDate:self].weekday;
|
return [NSDate br_componentsFromDate:self].weekday;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - 获取指定日期的月周
|
|
||||||
- (NSInteger)br_monthWeek {
|
|
||||||
return [NSDate br_componentsFromDate:self].weekOfMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取指定日期的年周
|
|
||||||
- (NSInteger)br_yearWeek {
|
|
||||||
return [NSDate br_componentsFromDate:self].weekOfYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取指定日期的季度
|
|
||||||
- (NSInteger)br_quarter {
|
|
||||||
// [NSDate br_componentsFromDate:self].quarter; // 取到的季度值总是0?
|
|
||||||
NSInteger quarter = 1;
|
|
||||||
NSInteger month = self.br_month;
|
|
||||||
if (month > 3) quarter = 2;
|
|
||||||
if (month > 6) quarter = 3;
|
|
||||||
if (month > 9) quarter = 4;
|
|
||||||
|
|
||||||
return quarter;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取指定日期的星期
|
#pragma mark - 获取指定日期的星期
|
||||||
- (NSString *)br_weekdayString {
|
- (NSString *)br_weekdayString {
|
||||||
switch (self.br_weekday - 1) {
|
switch (self.br_weekday - 1) {
|
||||||
@@ -160,12 +138,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
|||||||
|
|
||||||
#pragma mark - 创建date(通过 NSCalendar 类来创建日期)
|
#pragma mark - 创建date(通过 NSCalendar 类来创建日期)
|
||||||
+ (NSDate *)br_setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second {
|
+ (NSDate *)br_setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second {
|
||||||
return [self br_setYear:year month:month day:day hour:hour minute:minute second:second weekOfMonth:0 weekOfYear:0 quarter:0];
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (NSDate *)br_setYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day
|
|
||||||
hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second
|
|
||||||
weekOfMonth:(NSInteger)weekOfMonth weekOfYear:(NSInteger)weekOfYear quarter:(NSInteger)quarter {
|
|
||||||
NSDateComponents *components = [self br_componentsFromDate:[NSDate date]];
|
NSDateComponents *components = [self br_componentsFromDate:[NSDate date]];
|
||||||
if (year > 0) {
|
if (year > 0) {
|
||||||
// 初始化日期组件
|
// 初始化日期组件
|
||||||
@@ -187,15 +159,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
|||||||
if (second >= 0) {
|
if (second >= 0) {
|
||||||
components.second = second;
|
components.second = second;
|
||||||
}
|
}
|
||||||
if (weekOfMonth > 0) {
|
|
||||||
components.weekOfMonth = weekOfMonth;
|
|
||||||
}
|
|
||||||
if (weekOfYear > 0) {
|
|
||||||
components.weekOfYear = weekOfYear;
|
|
||||||
}
|
|
||||||
if (quarter > 0) {
|
|
||||||
components.quarter = quarter;
|
|
||||||
}
|
|
||||||
|
|
||||||
return [self br_dateFromComponents:components];
|
return [self br_dateFromComponents:components];
|
||||||
}
|
}
|
||||||
@@ -240,18 +203,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
|||||||
return [self br_setYear:0 month:0 day:0 hour:0 minute:minute second:second];
|
return [self br_setYear:0 month:0 day:0 hour:0 minute:minute second:second];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSDate *)br_setYear:(NSInteger)year month:(NSInteger)month weekOfMonth:(NSInteger)weekOfMonth {
|
|
||||||
return [self br_setYear:year month:month day:0 hour:0 minute:0 second:0 weekOfMonth:weekOfMonth weekOfYear:0 quarter:0];
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (NSDate *)br_setYear:(NSInteger)year weekOfYear:(NSInteger)weekOfYear {
|
|
||||||
return [self br_setYear:year month:0 day:0 hour:0 minute:0 second:0 weekOfMonth:0 weekOfYear:weekOfYear quarter:0];
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (NSDate *)br_setYear:(NSInteger)year quarter:(NSInteger)quarter {
|
|
||||||
return [self br_setYear:year month:0 day:0 hour:0 minute:0 second:0 weekOfMonth:0 weekOfYear:0 quarter:quarter];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取某个月的天数(通过年月求每月天数)
|
#pragma mark - 获取某个月的天数(通过年月求每月天数)
|
||||||
+ (NSUInteger)br_getDaysInYear:(NSInteger)year month:(NSInteger)month {
|
+ (NSUInteger)br_getDaysInYear:(NSInteger)year month:(NSInteger)month {
|
||||||
BOOL isLeapYear = year % 4 == 0 ? (year % 100 == 0 ? (year % 400 == 0 ? YES : NO) : YES) : NO;
|
BOOL isLeapYear = year % 4 == 0 ? (year % 100 == 0 ? (year % 400 == 0 ? YES : NO) : YES) : NO;
|
||||||
@@ -288,42 +239,12 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - 获取某个月的周数(通过年月求该月周数)
|
|
||||||
+ (NSUInteger)br_getWeeksOfMonthInYear:(NSInteger)year month:(NSInteger)month {
|
|
||||||
NSUInteger lastDayOfMonth = [self br_getDaysInYear:year month:month];
|
|
||||||
NSDate *endDate = [self br_setYear:year month:month day:lastDayOfMonth];
|
|
||||||
return endDate.br_monthWeek;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取某一年的周数(通过年求该年周数)
|
|
||||||
+ (NSUInteger)br_getWeeksOfYearInYear:(NSInteger)year {
|
|
||||||
NSDate *endDate = [self br_setYear:year month:12 day:31];
|
|
||||||
NSInteger weeks = endDate.br_yearWeek;
|
|
||||||
if (weeks == 1) weeks = 52;
|
|
||||||
return weeks;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取某一年的季度数(通过年求该年季度数)
|
|
||||||
+ (NSUInteger)br_getQuartersInYear:(NSInteger)year {
|
|
||||||
NSDate *endDate = [self br_setYear:year month:12 day:31];
|
|
||||||
return endDate.br_quarter;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 获取 日期加上/减去某天数后的新日期
|
#pragma mark - 获取 日期加上/减去某天数后的新日期
|
||||||
- (NSDate *)br_getNewDateToDays:(NSTimeInterval)days {
|
- (NSDate *)br_getNewDateToDays:(NSTimeInterval)days {
|
||||||
// days 为正数时,表示几天之后的日期;负数表示几天之前的日期
|
// days 为正数时,表示几天之后的日期;负数表示几天之前的日期
|
||||||
return [self dateByAddingTimeInterval:60 * 60 * 24 * days];
|
return [self dateByAddingTimeInterval:60 * 60 * 24 * days];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - 获取 日期加上/减去某个月数后的新日期
|
|
||||||
- (nullable NSDate *)br_getNewDateToMonths:(NSTimeInterval)months {
|
|
||||||
// months 为正数时,表示几个月之后的日期;负数表示几个月之前的日期
|
|
||||||
NSDateComponents *components = [[NSDateComponents alloc] init];
|
|
||||||
[components setMonth:months];
|
|
||||||
NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
|
|
||||||
return [calender dateByAddingComponents:components toDate:self options:0];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - NSDate 转 NSString
|
#pragma mark - NSDate 转 NSString
|
||||||
+ (NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat {
|
+ (NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat {
|
||||||
return [self br_stringFromDate:date dateFormat:dateFormat timeZone:nil language:nil];
|
return [self br_stringFromDate:date dateFormat:dateFormat timeZone:nil language:nil];
|
||||||
|
|||||||
@@ -13,24 +13,21 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface BRResultModel : NSObject
|
@interface BRResultModel : NSObject
|
||||||
|
|
||||||
|
/** 索引 */
|
||||||
|
@property (nonatomic, assign) NSInteger index;
|
||||||
/** key */
|
/** key */
|
||||||
@property (nullable, nonatomic, copy) NSString *key;
|
@property (nullable, nonatomic, copy) NSString *key;
|
||||||
/** value */
|
/** value */
|
||||||
@property (nullable, nonatomic, copy) NSString *value;
|
@property (nullable, nonatomic, copy) NSString *value;
|
||||||
|
|
||||||
/** 父级key(提示:联动时第一级数据,parentKey设置为:@"-1") */
|
/** 父级key(提示:联动时第一级数据,parentKey设置为:@"-1") */
|
||||||
@property (nullable, nonatomic, copy) NSString *parentKey;
|
@property (nullable, nonatomic, copy) NSString *parentKey;
|
||||||
/** 父级value */
|
/** 父级value */
|
||||||
@property (nullable, nonatomic, copy) NSString *parentValue;
|
@property (nullable, nonatomic, copy) NSString *parentValue;
|
||||||
/** 级别 */
|
|
||||||
@property (nullable, nonatomic, copy) NSString *level;
|
|
||||||
/** 子级list */
|
|
||||||
@property (nullable, nonatomic, copy) NSArray<BRResultModel *> *children;
|
|
||||||
/** 记录选择的索引位置 */
|
|
||||||
@property (nonatomic, assign) NSInteger index;
|
|
||||||
|
|
||||||
/// 其它扩展字段
|
/// 其它扩展字段
|
||||||
@property (nullable, nonatomic, strong) id extras;
|
|
||||||
@property (nullable, nonatomic, copy) NSString *remark;
|
@property (nullable, nonatomic, copy) NSString *remark;
|
||||||
|
@property (nullable, nonatomic, strong) id extras;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -476,10 +476,6 @@
|
|||||||
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
||||||
[self addSubview:self.pickerView];
|
[self addSubview:self.pickerView];
|
||||||
} else {
|
} else {
|
||||||
// iOS16:重新设置 pickerView 高度(解决懒加载设置frame不生效问题)
|
|
||||||
CGFloat pickerHeaderViewHeight = self.pickerHeaderView ? self.pickerHeaderView.bounds.size.height : 0;
|
|
||||||
self.pickerView.frame = CGRectMake(0, self.pickerStyle.titleBarHeight + pickerHeaderViewHeight, self.keyView.bounds.size.width, self.pickerStyle.pickerHeight);
|
|
||||||
|
|
||||||
[self.alertView addSubview:self.pickerView];
|
[self.alertView addSubview:self.pickerView];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
13
Pods/BRPickerView/README.md
generated
13
Pods/BRPickerView/README.md
generated
@@ -4,7 +4,7 @@ BRPickerView 封装的是iOS中常用的选择器组件,主要包括:日期
|
|||||||
|
|
||||||
【说明】
|
【说明】
|
||||||
|
|
||||||
- 当前最新版本为: `2.8.1` 。
|
- 当前最新版本为: `2.8.0` 。
|
||||||
- 如果不能找到最新版本,请先执行一下 `pod repo update` 更新本地仓库,待更新完成后;再执行 `pod search BRPickerView` 进行搜索,就会看到最新版本。
|
- 如果不能找到最新版本,请先执行一下 `pod repo update` 更新本地仓库,待更新完成后;再执行 `pod search BRPickerView` 进行搜索,就会看到最新版本。
|
||||||
|
|
||||||
# 效果演示
|
# 效果演示
|
||||||
@@ -57,7 +57,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
|||||||
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
||||||
BRDatePickerModeCountDownTimer,
|
BRDatePickerModeCountDownTimer,
|
||||||
|
|
||||||
// ----- 以下14种是自定义样式 -----
|
// ----- 以下11种是自定义样式 -----
|
||||||
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
||||||
BRDatePickerModeYMDHMS,
|
BRDatePickerModeYMDHMS,
|
||||||
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
||||||
@@ -79,14 +79,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
|||||||
/** 【HH:mm】时分 */
|
/** 【HH:mm】时分 */
|
||||||
BRDatePickerModeHM,
|
BRDatePickerModeHM,
|
||||||
/** 【mm:ss】分秒 */
|
/** 【mm:ss】分秒 */
|
||||||
BRDatePickerModeMS,
|
BRDatePickerModeMS
|
||||||
|
|
||||||
/** 【yyyy-qq】年季度 */
|
|
||||||
BRDatePickerModeYQ,
|
|
||||||
/** 【yyyy-MM-ww】年月周 */
|
|
||||||
BRDatePickerModeYMW,
|
|
||||||
/** 【yyyy-ww】年周 */
|
|
||||||
BRDatePickerModeYW
|
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@property (nonatomic, strong, nullable) UIBarButtonItem *dd_backBarButtonItem; // This item contains a customView consist of a button.
|
@property (nonatomic, strong, nullable) UIBarButtonItem *dd_backBarButtonItem; // This item contains a customView consist of a button.
|
||||||
|
|
||||||
|
- (void)defaultBackActionPopViewController; // default back action
|
||||||
|
|
||||||
- (void)dd_backButtonWithImage:(nullable UIImage *)backButtonImage action:(SEL)sel;
|
- (void)dd_backButtonWithImage:(nullable UIImage *)backButtonImage action:(SEL)sel;
|
||||||
|
|
||||||
- (void)dd_backActionPopViewController:(BOOL)isAnimated;
|
- (void)dd_backActionPopViewController:(BOOL)isAnimated;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#import "DDMANaviManager.h"
|
#import "DDMANaviManager.h"
|
||||||
#import <AMapNaviKit/AMapNaviKit.h>
|
#import <AMapNaviKit/AMapNaviKit.h>
|
||||||
@interface DDMANaviManager ()
|
@interface DDMANaviManager () <AMapNaviCompositeManagerDelegate>
|
||||||
@property (nonatomic, strong)AMapNaviCompositeManager *compositeManager;
|
@property (nonatomic, strong)AMapNaviCompositeManager *compositeManager;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
- (AMapNaviCompositeManager *)compositeManager{
|
- (AMapNaviCompositeManager *)compositeManager{
|
||||||
if (!_compositeManager) {
|
if (!_compositeManager) {
|
||||||
_compositeManager = [[AMapNaviCompositeManager alloc] init];
|
_compositeManager = [[AMapNaviCompositeManager alloc] init];
|
||||||
|
_compositeManager.delegate = self;
|
||||||
}
|
}
|
||||||
return _compositeManager;
|
return _compositeManager;
|
||||||
}
|
}
|
||||||
@@ -69,4 +70,13 @@
|
|||||||
[strongSelf.compositeManager presentRoutePlanViewControllerWithOptions:config];
|
[strongSelf.compositeManager presentRoutePlanViewControllerWithOptions:config];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MARK: <AMapNaviCompositeManagerDelegate>
|
||||||
|
- (void)compositeManager:(AMapNaviCompositeManager *)compositeManager didArrivedDestination:(AMapNaviMode)naviMode {
|
||||||
|
__weak typeof(self) weakSelf = self;
|
||||||
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
__strong typeof(weakSelf) strongSelf = weakSelf;
|
||||||
|
[strongSelf.compositeManager dismissWithAnimated:YES];
|
||||||
|
});
|
||||||
|
}
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -12,10 +12,8 @@ open class GCDTimer {
|
|||||||
public static let `default` = GCDTimer()
|
public static let `default` = GCDTimer()
|
||||||
|
|
||||||
private var timerSources : [GCDTimerAbstract] = []
|
private var timerSources : [GCDTimerAbstract] = []
|
||||||
|
|
||||||
private var canceledCompletionHandler:(() -> Void)? // 主动取消定时器时,由于定时器当前可能存在任务,所以要等任务结束后再进行相应的操作
|
private var timerAddOrRemoveQueue = DispatchQueue(label: "GCDTimerAddOrRemoveQueue") // 移除定时器的时候,由于存在多个定时器同时移除的情况,定时器本身是异步操作的,所以从timerSources中移除GCDTimerAbstract的操作也是异步的,这就会导致数组在遍历的同时也在从数组中删除项目,会有问题,所以把删除的操作放在同步队列中
|
||||||
|
|
||||||
private var removeQueue = DispatchQueue(label: "GCDTimerRemoveQueue") // 移除定时器的时候,由于存在多个定时器同时移除的情况,定时器本身是异步操作的,所以从timerSources中移除GCDTimerAbstract的操作也是异步的,这就会导致数组在遍历的同时也在从数组中删除项目,会有问题,所以把删除的操作放在同步队列中
|
|
||||||
|
|
||||||
/// 取消定时器时,定时器如果有正在执行的任务,会先将当前正在执行的任务执行完成才会取消成功,因此如果需要添加相同名字的定时器,需要确保之前同名的定时器已经被彻底取消了。
|
/// 取消定时器时,定时器如果有正在执行的任务,会先将当前正在执行的任务执行完成才会取消成功,因此如果需要添加相同名字的定时器,需要确保之前同名的定时器已经被彻底取消了。
|
||||||
/// - Parameters:
|
/// - Parameters:
|
||||||
@@ -27,63 +25,92 @@ open class GCDTimer {
|
|||||||
/// - cancelHandler: 如果执行了cancelHandler,就不会执行completionHandler
|
/// - cancelHandler: 如果执行了cancelHandler,就不会执行completionHandler
|
||||||
/// - completionHandler: 如果执行了completionHandler,就不会执行cancelHandler
|
/// - completionHandler: 如果执行了completionHandler,就不会执行cancelHandler
|
||||||
public func addGCDTimer(named timerName:String,delay:DispatchTimeInterval,repeating:DispatchTimeInterval,repeatCount:Int = Int.max,repeatHandler:@escaping (() -> Void),cancelHandler:(() -> Void)? = nil,completionHandler:(() -> Void)? = nil) {
|
public func addGCDTimer(named timerName:String,delay:DispatchTimeInterval,repeating:DispatchTimeInterval,repeatCount:Int = Int.max,repeatHandler:@escaping (() -> Void),cancelHandler:(() -> Void)? = nil,completionHandler:(() -> Void)? = nil) {
|
||||||
if let _ = timerSources.first(where: { gcdTimerA in
|
timerAddOrRemoveQueue.async { [weak self] in
|
||||||
gcdTimerA.timerName == timerName
|
if let _ = self?.timerSources.first(where: { gcdTimerA in
|
||||||
}) {
|
gcdTimerA.timerName == timerName
|
||||||
DDLog(message: "定时器\'\(timerName)\'重复添加,添加失败")
|
}) {
|
||||||
return
|
DDLog(message: "定时器\'\(timerName)\'重复添加,添加失败")
|
||||||
}
|
return
|
||||||
|
}
|
||||||
let gcdTimerA = GCDTimerAbstract(named: timerName)
|
|
||||||
gcdTimerA.addGCDTimer(delay: delay, repeating: repeating, repeatCount: repeatCount) {
|
let gcdTimerA = GCDTimerAbstract(named: timerName)
|
||||||
repeatHandler()
|
gcdTimerA.addGCDTimer(delay: delay, repeating: repeating, repeatCount: repeatCount) {
|
||||||
} cancelHandler: {[weak self] timerName in
|
repeatHandler()
|
||||||
// 移除定时器
|
} cancelHandler: {[weak self] (timerName,canceledCompletionHandler) in
|
||||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {[weak self] in
|
// 移除定时器
|
||||||
// 添加定时器处执行取消操作
|
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
||||||
if let cancelHandler {
|
// 添加定时器处执行取消操作
|
||||||
cancelHandler()
|
if let cancelHandler {
|
||||||
}
|
cancelHandler()
|
||||||
// 取消定时器处执行取消操作
|
}
|
||||||
if let canceledCompletionHandler = self?.canceledCompletionHandler {
|
// 取消定时器处执行取消操作
|
||||||
canceledCompletionHandler()
|
if let canceledCompletionHandler {
|
||||||
}
|
canceledCompletionHandler()
|
||||||
})
|
}
|
||||||
} completionHandler: {[weak self] timerName in
|
})
|
||||||
// 移除定时器
|
} completionHandler: {[weak self] (timerName,canceledCompletionHandler) in
|
||||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
// 移除定时器
|
||||||
// 执行结束操作
|
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
||||||
if let completionHandler {
|
// 执行结束操作
|
||||||
completionHandler()
|
if let completionHandler {
|
||||||
}
|
completionHandler()
|
||||||
})
|
}
|
||||||
}
|
// 这是一种特殊的情况,当且仅当主动取消定时器时,定时器正在进行最后一次任务操作
|
||||||
|
if let canceledCompletionHandler {
|
||||||
|
canceledCompletionHandler()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
timerSources.append(gcdTimerA)
|
self?.timerSources.append(gcdTimerA)
|
||||||
DDLog(message: "定时器\'\(timerName)\'添加成功")
|
DDLog(message: "定时器\'\(timerName)\'添加成功")
|
||||||
// 打印剩余的定时器
|
// 打印剩余的定时器
|
||||||
logTimerName()
|
self?.logTimerName()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func removeGCDTimer(named timerName:String,removeComletionHandler:@escaping () -> Void) {
|
||||||
|
timerAddOrRemoveQueue.async { [weak self] in
|
||||||
|
// 移除定时器的抽象类
|
||||||
|
if let index = self?.timerSources.firstIndex(where: { gcdTimerA in
|
||||||
|
gcdTimerA.timerName == timerName
|
||||||
|
}) {
|
||||||
|
self?.timerSources.remove(at: index)
|
||||||
|
DDLog(message: "定时器\'\(timerName)\'移除成功")
|
||||||
|
|
||||||
|
// 异步操作回调
|
||||||
|
DispatchQueue.global().async {
|
||||||
|
removeComletionHandler()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 打印剩余的定时器
|
||||||
|
self?.logTimerName()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// 在取消定时器时,假如定时器正在执行任务,这个过程中被多次取消且携带了canceledCompletionHandler,只会执行最后一次赋值的canceledCompletionHandler。
|
/// 在取消定时器时,假如定时器正在执行任务,这个过程中被多次取消且携带了canceledCompletionHandler,只会执行最后一次赋值的canceledCompletionHandler。
|
||||||
/// - Parameters:
|
/// - Parameters:
|
||||||
/// - timerName: 定时器名字
|
/// - timerName: 定时器名字
|
||||||
/// - canceledCompletionHandler: 取消定时器后的操作
|
/// - canceledCompletionHandler: 取消定时器后的操作
|
||||||
public func cancelGCDTimer(named timerName:String,canceledCompletionHandler:(() -> Void)? = nil) {
|
public func cancelGCDTimer(named timerName:String,canceledCompletionHandler:(() -> Void)? = nil) {
|
||||||
self.canceledCompletionHandler = canceledCompletionHandler
|
timerAddOrRemoveQueue.async {[weak self] in
|
||||||
|
// 当timerSources中包含定时器时,取消定时器
|
||||||
// 当timerSources中包含定时器时,取消定时器
|
if let gcdTimerA = self?.timerSources.first(where: { gcdTimerA in
|
||||||
if let gcdTimerA = timerSources.first(where: { gcdTimerA in
|
gcdTimerA.timerName == timerName
|
||||||
gcdTimerA.timerName == timerName
|
}) {
|
||||||
}) {
|
gcdTimerA.canceledCompletionHandler = canceledCompletionHandler
|
||||||
gcdTimerA.cancelGCDTimer(isCanceledManually: true)
|
gcdTimerA.cancelGCDTimer(isCanceledManually: true)
|
||||||
}else{
|
}else{
|
||||||
if let canceledCompletionHandler {
|
// 异步操作回调
|
||||||
canceledCompletionHandler()
|
DispatchQueue.global().async {
|
||||||
|
if let canceledCompletionHandler {
|
||||||
|
canceledCompletionHandler()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 打印剩余的定时器
|
||||||
|
self?.logTimerName()
|
||||||
}
|
}
|
||||||
// 打印剩余的定时器
|
|
||||||
logTimerName()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,20 +123,6 @@ open class GCDTimer {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func removeGCDTimer(named timerName:String,removeComletionHandler:@escaping () -> Void) {
|
|
||||||
removeQueue.sync {[weak self] in
|
|
||||||
// 移除定时器的抽象类
|
|
||||||
if let index = self?.timerSources.firstIndex(where: { gcdTimerA in
|
|
||||||
gcdTimerA.timerName == timerName
|
|
||||||
}) {
|
|
||||||
self?.timerSources.remove(at: index)
|
|
||||||
DDLog(message: "定时器\'\(timerName)\'移除成功")
|
|
||||||
}
|
|
||||||
// 打印剩余的定时器
|
|
||||||
self?.logTimerName()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func logTimerName() {
|
func logTimerName() {
|
||||||
var array : [String] = []
|
var array : [String] = []
|
||||||
for gcdTimerA in timerSources {
|
for gcdTimerA in timerSources {
|
||||||
@@ -128,11 +141,13 @@ class GCDTimerAbstract {
|
|||||||
|
|
||||||
public var isCanceledManually : Bool = false // 是否时主动取消定时器
|
public var isCanceledManually : Bool = false // 是否时主动取消定时器
|
||||||
|
|
||||||
|
public var canceledCompletionHandler:(() -> Void)? // 主动取消定时器时,由于定时器当前可能存在任务,所以要等任务结束后再进行相应的操作
|
||||||
|
|
||||||
init(named timerName: String) {
|
init(named timerName: String) {
|
||||||
self.timerName = timerName
|
self.timerName = timerName
|
||||||
}
|
}
|
||||||
|
|
||||||
public func addGCDTimer(delay:DispatchTimeInterval,repeating:DispatchTimeInterval,repeatCount:Int,repeatHandler:@escaping (() -> Void),cancelHandler:((String) -> Void)? = nil,completionHandler: ((String) -> Void)? = nil) {
|
public func addGCDTimer(delay:DispatchTimeInterval,repeating:DispatchTimeInterval,repeatCount:Int,repeatHandler:@escaping (() -> Void),cancelHandler:((String,(() -> Void)?) -> Void)? = nil,completionHandler: ((String,(() -> Void)?) -> Void)? = nil) {
|
||||||
// 当前剩余的次数
|
// 当前剩余的次数
|
||||||
var leftRepeatCount = repeatCount
|
var leftRepeatCount = repeatCount
|
||||||
|
|
||||||
@@ -143,6 +158,7 @@ class GCDTimerAbstract {
|
|||||||
leftRepeatCount-=1
|
leftRepeatCount-=1
|
||||||
// 此时定时器次数结束
|
// 此时定时器次数结束
|
||||||
if (leftRepeatCount > 0) == false {
|
if (leftRepeatCount > 0) == false {
|
||||||
|
// 这里有一种特殊情况,当主动cancel了定时器,且在进行最后一次任务的时候,最后一次任务执行完正好来到这里,那么依然要调用canceledCompletionHandler
|
||||||
self?.cancelGCDTimer(isCanceledManually: false)
|
self?.cancelGCDTimer(isCanceledManually: false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -151,12 +167,12 @@ class GCDTimerAbstract {
|
|||||||
if self?.isCanceledManually == true {
|
if self?.isCanceledManually == true {
|
||||||
// 定时器中途被取消时,在添加定时器的位置需要执行的取消操作
|
// 定时器中途被取消时,在添加定时器的位置需要执行的取消操作
|
||||||
if let cancelHandler,let timerName = self?.timerName {
|
if let cancelHandler,let timerName = self?.timerName {
|
||||||
cancelHandler(timerName)
|
cancelHandler(timerName,self?.canceledCompletionHandler)
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
// 定时器结束后执行
|
// 定时器结束后执行
|
||||||
if let completionHandler,let timerName = self?.timerName {
|
if let completionHandler,let timerName = self?.timerName {
|
||||||
completionHandler(timerName)
|
completionHandler(timerName,self?.canceledCompletionHandler)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
62
Pods/DDUtilsSwiftKit_Private/DDUtilsSwiftKit_Private/Classes/FileManager/DDFileManager.swift
generated
Normal file
62
Pods/DDUtilsSwiftKit_Private/DDUtilsSwiftKit_Private/Classes/FileManager/DDFileManager.swift
generated
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
//
|
||||||
|
// DDFileManager.swift
|
||||||
|
// DDUtilsSwiftKit_Private
|
||||||
|
// Created by DDIsFriend on 2023/10/10.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
public let DDFM = DDFileManager.default
|
||||||
|
|
||||||
|
open class DDFileManager {
|
||||||
|
public static let `default` = DDFileManager()
|
||||||
|
|
||||||
|
public func calculateFile(filePath:String) -> Float {
|
||||||
|
/// 取出文件夹下所有文件数组
|
||||||
|
let fileArr = FileManager.default.subpaths(atPath: filePath)
|
||||||
|
|
||||||
|
var size: Float = 0
|
||||||
|
|
||||||
|
for file in fileArr!
|
||||||
|
{
|
||||||
|
/// 把文件名拼接到路径中
|
||||||
|
let path = filePath.appending("/\(file)")
|
||||||
|
|
||||||
|
/// 取出文件属性
|
||||||
|
let floder = try! FileManager.default.attributesOfItem(atPath: path)
|
||||||
|
/// 用元组取出文件大小属性
|
||||||
|
for (key, value) in floder
|
||||||
|
{
|
||||||
|
/// 累加文件大小
|
||||||
|
if key == FileAttributeKey.size
|
||||||
|
{
|
||||||
|
size += (value as AnyObject).floatValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return size / 1024 / 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
public func clearFile(filePath:String) {
|
||||||
|
// 取出文件夹下所有文件数组
|
||||||
|
let fileArr = FileManager.default.subpaths(atPath: filePath)
|
||||||
|
|
||||||
|
// 遍历删除
|
||||||
|
for file in fileArr!
|
||||||
|
{
|
||||||
|
let path = filePath.appending("/\(file)")
|
||||||
|
if FileManager.default.fileExists(atPath: path)
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
try FileManager.default.removeItem(atPath: path)
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Pods/JCore/jcore-ios-4.2.1.xcframework/.DS_Store
generated
vendored
BIN
Pods/JCore/jcore-ios-4.2.1.xcframework/.DS_Store
generated
vendored
Binary file not shown.
BIN
Pods/JPush/jpush-ios-5.0.1.xcframework/.DS_Store
generated
vendored
BIN
Pods/JPush/jpush-ios-5.0.1.xcframework/.DS_Store
generated
vendored
Binary file not shown.
134
Pods/Manifest.lock
generated
134
Pods/Manifest.lock
generated
@@ -10,55 +10,55 @@ PODS:
|
|||||||
- AMapTrack-NO-IDFA (1.4.2):
|
- AMapTrack-NO-IDFA (1.4.2):
|
||||||
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
||||||
- AMapLocation-NO-IDFA (>= 2.6.7)
|
- AMapLocation-NO-IDFA (>= 2.6.7)
|
||||||
- BRPickerView (2.8.1):
|
- BRPickerView (2.8.0):
|
||||||
- BRPickerView/AddressPickerView (= 2.8.1)
|
- BRPickerView/AddressPickerView (= 2.8.0)
|
||||||
- BRPickerView/Base (= 2.8.1)
|
- BRPickerView/Base (= 2.8.0)
|
||||||
- BRPickerView/DatePickerView (= 2.8.1)
|
- BRPickerView/DatePickerView (= 2.8.0)
|
||||||
- BRPickerView/StringPickerView (= 2.8.1)
|
- BRPickerView/StringPickerView (= 2.8.0)
|
||||||
- BRPickerView/AddressPickerView (2.8.1):
|
- BRPickerView/AddressPickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- BRPickerView/Base (2.8.1)
|
- BRPickerView/Base (2.8.0)
|
||||||
- BRPickerView/DatePickerView (2.8.1):
|
- BRPickerView/DatePickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- BRPickerView/StringPickerView (2.8.1):
|
- BRPickerView/StringPickerView (2.8.0):
|
||||||
- BRPickerView/Base
|
- BRPickerView/Base
|
||||||
- Bugly (2.5.93)
|
- Bugly (2.5.93)
|
||||||
- DDAudioPlayerKit_Private (0.1.5)
|
- DDAudioPlayerKit_Private (0.1.5)
|
||||||
- DDAutoUIKit_Private (0.1.3)
|
- DDAutoUIKit_Private (0.1.3)
|
||||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.3)
|
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.4)
|
||||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.4):
|
||||||
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseButton (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIButton+DDCategory"
|
- "DDCategoryKit_Private/UIButton+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.4):
|
||||||
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseImage (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseImageView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseLabel (0.3.4):
|
||||||
- "DDCategoryKit_Private/UILabel+DDCategory"
|
- "DDCategoryKit_Private/UILabel+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.4):
|
||||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
||||||
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.4):
|
||||||
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTableView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITableView+DDCategory"
|
- "DDCategoryKit_Private/UITableView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTextField (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITextField+DDCategory"
|
- "DDCategoryKit_Private/UITextField+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseTextView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UITextView+DDCategory"
|
- "DDCategoryKit_Private/UITextView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseView (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseView (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIView+DDCategory"
|
- "DDCategoryKit_Private/UIView+DDCategory"
|
||||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.3):
|
- DDBasicControlsKit_Private/DDBaseViewController (0.3.4):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
@@ -186,35 +186,35 @@ PODS:
|
|||||||
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
||||||
- DDLogKit_Private/OCLog (0.1.4)
|
- DDLogKit_Private/OCLog (0.1.4)
|
||||||
- DDLogKit_Private/SwiftLog (0.1.4)
|
- DDLogKit_Private/SwiftLog (0.1.4)
|
||||||
- DDMAMapKit_Private (0.1.4):
|
- DDMAMapKit_Private (0.1.5):
|
||||||
- DDMAMapKit_Private/DDMALocation (= 0.1.4)
|
- DDMAMapKit_Private/DDMALocation (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.4)
|
- DDMAMapKit_Private/DDMANaviManager (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMASearch (= 0.1.4)
|
- DDMAMapKit_Private/DDMASearch (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.4)
|
- DDMAMapKit_Private/DDMATrackManager (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.4)
|
- DDMAMapKit_Private/DDMAUtil (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMALocation (0.1.4):
|
- DDMAMapKit_Private/DDMALocation (0.1.5):
|
||||||
- AMapLocation-NO-IDFA (= 2.9.0)
|
- AMapLocation-NO-IDFA (= 2.9.0)
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap (0.1.4):
|
- DDMAMapKit_Private/DDMAMap (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.4)
|
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.5)
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/MapView (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAMap/Annotation
|
- DDMAMapKit_Private/DDMAMap/Annotation
|
||||||
@@ -223,28 +223,28 @@ PODS:
|
|||||||
- DDMAMapKit_Private/DDMAMap/Sources
|
- DDMAMapKit_Private/DDMAMap/Sources
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace
|
- DDMAMapKit_Private/DDMAMap/Trace
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Sources (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.4):
|
- DDMAMapKit_Private/DDMAMap/Trace (0.1.5):
|
||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMANaviManager
|
- DDMAMapKit_Private/DDMANaviManager
|
||||||
- DDMAMapKit_Private/DDMANaviManager (0.1.4):
|
- DDMAMapKit_Private/DDMANaviManager (0.1.5):
|
||||||
- AMapNavi-NO-IDFA (= 9.6.0)
|
- AMapNavi-NO-IDFA (= 9.6.0)
|
||||||
- DDMAMapKit_Private/DDMASearch (0.1.4):
|
- DDMAMapKit_Private/DDMASearch (0.1.5):
|
||||||
- AMapSearch-NO-IDFA (= 9.5.0)
|
- AMapSearch-NO-IDFA (= 9.5.0)
|
||||||
- "DDCategoryKit_Private/NSThread+DDCategory"
|
- "DDCategoryKit_Private/NSThread+DDCategory"
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMATrackManager (0.1.4):
|
- DDMAMapKit_Private/DDMATrackManager (0.1.5):
|
||||||
- AMapTrack-NO-IDFA (= 1.4.2)
|
- AMapTrack-NO-IDFA (= 1.4.2)
|
||||||
- DDLogKit_Private
|
- DDLogKit_Private
|
||||||
- DDMAMapKit_Private/DDMAUtil (0.1.4):
|
- DDMAMapKit_Private/DDMAUtil (0.1.5):
|
||||||
- DDMAMapKit_Private/DDMAMap
|
- DDMAMapKit_Private/DDMAMap
|
||||||
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
||||||
- Alamofire
|
- Alamofire
|
||||||
@@ -255,16 +255,18 @@ PODS:
|
|||||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||||
- Kingfisher
|
- Kingfisher
|
||||||
- SnapKit
|
- SnapKit
|
||||||
- DDTimerSwiftKit_Private (0.1.3):
|
- DDTimerSwiftKit_Private (0.2.1):
|
||||||
- DDLogKit_Private/SwiftLog
|
- DDLogKit_Private/SwiftLog
|
||||||
- DDToastKit_Private (0.1.2)
|
- DDToastKit_Private (0.1.2)
|
||||||
- DDUtilsSwiftKit_Private (0.1.0):
|
- DDUtilsSwiftKit_Private (0.1.1):
|
||||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.0)
|
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.0)
|
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.0)
|
- DDUtilsSwiftKit_Private/FileManager (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.0)
|
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.0)
|
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.1)
|
||||||
- DDUtilsSwiftKit_Private/UrlLinks (0.1.0)
|
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.1)
|
||||||
|
- DDUtilsSwiftKit_Private/FileManager (0.1.1)
|
||||||
|
- DDUtilsSwiftKit_Private/UrlLinks (0.1.1)
|
||||||
- DDWebImageKit_Private (0.1.3):
|
- DDWebImageKit_Private (0.1.3):
|
||||||
- DDWebImageKit_Private/DDWebImage (= 0.1.3)
|
- DDWebImageKit_Private/DDWebImage (= 0.1.3)
|
||||||
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
||||||
@@ -306,7 +308,7 @@ PODS:
|
|||||||
- ZLPhotoBrowser/Core (4.4.3.2)
|
- ZLPhotoBrowser/Core (4.4.3.2)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- BRPickerView
|
- BRPickerView (= 2.8.0)
|
||||||
- Bugly
|
- Bugly
|
||||||
- DDAudioPlayerKit_Private
|
- DDAudioPlayerKit_Private
|
||||||
- DDAutoUIKit_Private
|
- DDAutoUIKit_Private
|
||||||
@@ -391,24 +393,24 @@ SPEC CHECKSUMS:
|
|||||||
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
||||||
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
||||||
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
||||||
BRPickerView: 2531a2d4d0fea0b57a1c738de215af0f88863a2f
|
BRPickerView: a0ff460bf092bc069db5a54153395b1f7e8f5300
|
||||||
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
||||||
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
||||||
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
||||||
DDBasicControlsKit_Private: 4fb51a0ccefc9e62791352a0d55e86c4f679a5c9
|
DDBasicControlsKit_Private: d78c6ac0235bdf084652a970179a1141dfd45710
|
||||||
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
||||||
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
||||||
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
||||||
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
||||||
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
||||||
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
||||||
DDMAMapKit_Private: fda2942ba7a3b7da4d440e59a89db9fd6708d842
|
DDMAMapKit_Private: b378d69f693d6998d136155cd5c81be2e4545fae
|
||||||
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
||||||
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
||||||
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
||||||
DDTimerSwiftKit_Private: e9c55d0d9d60de4965b369b342bb903c85542cff
|
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
|
||||||
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
||||||
DDUtilsSwiftKit_Private: a0bb323c6bac3bf68e94f95d10fd9e3529fb773d
|
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
|
||||||
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
||||||
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
||||||
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
||||||
@@ -427,6 +429,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
||||||
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
||||||
|
|
||||||
PODFILE CHECKSUM: 75e62ee633534110b4a33fd42fd1175199c85796
|
PODFILE CHECKSUM: 96c1ebaac8dd93918200066b5731f8b3d0ee177c
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
|||||||
15094
Pods/Pods.xcodeproj/project.pbxproj
generated
15094
Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>BNDL</string>
|
<string>BNDL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.3.3</string>
|
<string>0.3.4</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>BNDL</string>
|
<string>BNDL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.1.4</string>
|
<string>0.1.5</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>${PRODUCT_NAME}</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>BNDL</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>0.1.1</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string></string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -5,17 +5,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000216">
|
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000398">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="1: gym" time="74.855427">
|
<testcase classname="fastlane.lanes" name="1: gym" time="75.985273">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="14.69913">
|
<testcase classname="fastlane.lanes" name="2: pgyer" time="21.546836">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user