部分需求修改
This commit is contained in:
@@ -796,8 +796,8 @@
|
||||
79EAD8032A7B86600036E093 /* Sources */,
|
||||
79EAD8042A7B86600036E093 /* Frameworks */,
|
||||
79EAD8052A7B86600036E093 /* Resources */,
|
||||
341364273A38F3D379A18C5D /* [CP] Copy Pods Resources */,
|
||||
79FB76002A9C3BEE00DB00A4 /* Embed Foundation Extensions */,
|
||||
537F6EC1FB8E50103608F4A4 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
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";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
341364273A38F3D379A18C5D /* [CP] Copy Pods Resources */ = {
|
||||
537F6EC1FB8E50103608F4A4 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -1122,7 +1122,7 @@
|
||||
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
CURRENT_PROJECT_VERSION = 10;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
@@ -1337,7 +1337,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Haifeng Cen (F2QAMRC42Q)";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
CURRENT_PROJECT_VERSION = 10;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
|
||||
@@ -1395,7 +1395,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = OrderScheduling/OrderSchedulingRelease.entitlements;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: SINO ASSISTANCE INDUSTRIAL CO., LTD. (X9WF5T89LV)";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
CURRENT_PROJECT_VERSION = 10;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = X9WF5T89LV;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1430"
|
||||
version = "1.7">
|
||||
version = "1.8">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
@@ -28,6 +28,8 @@
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "PreRelease"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1430"
|
||||
version = "1.8">
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
@@ -28,8 +28,6 @@
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
|
||||
Binary file not shown.
@@ -221,8 +221,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "637"
|
||||
endingLineNumber = "637"
|
||||
startingLineNumber = "664"
|
||||
endingLineNumber = "664"
|
||||
landmarkName = "tableView(_:cellForRowAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -411,8 +411,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "953"
|
||||
endingLineNumber = "953"
|
||||
startingLineNumber = "1022"
|
||||
endingLineNumber = "1022"
|
||||
landmarkName = "collectionView(_:cellForItemAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -2237,8 +2237,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "964"
|
||||
endingLineNumber = "964"
|
||||
startingLineNumber = "1033"
|
||||
endingLineNumber = "1033"
|
||||
landmarkName = "collectionView(_:didSelectItemAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -2971,8 +2971,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1047"
|
||||
endingLineNumber = "1047"
|
||||
startingLineNumber = "1116"
|
||||
endingLineNumber = "1116"
|
||||
landmarkName = "viewSafeAreaInsetsDidChange()"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -3643,8 +3643,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "861"
|
||||
endingLineNumber = "861"
|
||||
startingLineNumber = "922"
|
||||
endingLineNumber = "922"
|
||||
landmarkName = "tableView(_:cellForRowAt:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -3691,8 +3691,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "875"
|
||||
endingLineNumber = "875"
|
||||
startingLineNumber = "936"
|
||||
endingLineNumber = "936"
|
||||
landmarkName = "tableView(_:cellForRowAt:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -3739,8 +3739,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "880"
|
||||
endingLineNumber = "880"
|
||||
startingLineNumber = "941"
|
||||
endingLineNumber = "941"
|
||||
landmarkName = "tableView(_:cellForRowAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -4759,8 +4759,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1844"
|
||||
endingLineNumber = "1844"
|
||||
startingLineNumber = "1957"
|
||||
endingLineNumber = "1957"
|
||||
landmarkName = "init(style:reuseIdentifier:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -4807,8 +4807,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1851"
|
||||
endingLineNumber = "1851"
|
||||
startingLineNumber = "1964"
|
||||
endingLineNumber = "1964"
|
||||
landmarkName = "init(style:reuseIdentifier:)"
|
||||
landmarkType = "7">
|
||||
<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 {
|
||||
let taskCode = userInfo?[pushNoti_taskCode_key] as? String
|
||||
let juheVehcileName = userInfo?[pushNoti_juheVehcileName_key] as? String
|
||||
if juheVehcileName?.isEmpty == false {
|
||||
string = "您有一条新的聚合订单\(taskCode ?? "")"
|
||||
if let juheVehcileName, juheVehcileName.isEmpty == false {
|
||||
string = "您有一条新的聚合订单\(taskCode ?? ""),聚合车辆:\(juheVehcileName)"
|
||||
}else{
|
||||
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 vehiclePointLatitude : Double
|
||||
var vehiclePointRemark : String?
|
||||
var juheVehicleId : Int?
|
||||
var juheVehcileName : String?
|
||||
var juheStaffName : String?
|
||||
var juheStaffPhone : String?
|
||||
var juheSupplierId : Int?
|
||||
var destinationAddress : String?
|
||||
var positionEnvironment : PositionEnvironmentModel?
|
||||
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?.merchantTitleLabel.text = "客商:"
|
||||
cell?.serviceTitleLabel.text = "事发地:"
|
||||
cell?.reportButton.setTitle("报备", for: .normal)
|
||||
cell?.contactButton.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
|
||||
|
||||
if model.vehiclePointRemark?.isEmpty == false {
|
||||
@@ -727,7 +754,21 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
||||
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
|
||||
.subscribe(onNext: { _ in
|
||||
SC.userOrderId = model.userOrderId
|
||||
@@ -764,6 +805,18 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
|
||||
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!
|
||||
}
|
||||
|
||||
@@ -790,6 +843,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
||||
cell?.orderStatusTitleLabel.text = "状态:"
|
||||
cell?.serviceTitleLabel.text = "故障地:"
|
||||
cell?.destinationTitleLabel.text = "目的地:"
|
||||
cell?.contactButton.setTitle("联系客户", for: .normal)
|
||||
cell?.reportButton.setTitle("报备", for: .normal)
|
||||
cell?.reportDetailButton.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)
|
||||
})
|
||||
}
|
||||
|
||||
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
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: {[weak self] _ in
|
||||
@@ -859,7 +920,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
||||
if USERP.canWaitModifyDispatchBtn == true {
|
||||
cell?.dispatchButton.isHidden = false
|
||||
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))
|
||||
})
|
||||
}else{
|
||||
@@ -874,7 +935,7 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
||||
cell?.reportButton.isHidden = false
|
||||
cell?.reportButton.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(80))
|
||||
make.right.equalTo(-auto(10))
|
||||
make.right.equalTo(-auto(8))
|
||||
})
|
||||
}else{
|
||||
cell?.reportButton.isHidden = true
|
||||
@@ -905,8 +966,16 @@ extension RescueIsIngController : UITableViewDelegate,UITableViewDataSource {
|
||||
// 需要放在权限的代码后面
|
||||
if (model.taskOrderStatus ?? 0) >= 12001 {
|
||||
cell?.dispatchButton.isHidden = true
|
||||
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||
make.right.equalTo(cell!.reportDetailButton.snp.left).offset(0)
|
||||
make.width.equalTo(0)
|
||||
})
|
||||
}else{
|
||||
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!
|
||||
@@ -1382,6 +1451,8 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
public let carTypeLabel : DDLabel
|
||||
public let positionTitleLabel : DDLabel
|
||||
public let positionLabel : DDLabel
|
||||
public let juheTitleLabel : DDLabel
|
||||
public let juheButton : DDButton
|
||||
public let serviceTitleLabel : DDLabel
|
||||
public let serviceLabel : DDLabel
|
||||
public let serviceNoticeView : DDView
|
||||
@@ -1395,6 +1466,7 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
public let photoTitleLabel : DDLabel
|
||||
public let photoView : DDView
|
||||
public let photoCollectionView : DDCollectionView
|
||||
public let reportButton : DDButton
|
||||
public let contactButton : DDButton
|
||||
public let dispatchButton : DDButton
|
||||
public var dispatchLayer : CAGradientLayer = {
|
||||
@@ -1420,6 +1492,8 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
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))
|
||||
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))
|
||||
serviceLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000"))
|
||||
serviceNoticeView = DDView.init()
|
||||
@@ -1437,6 +1511,9 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
flowLayout.scrollDirection = .vertical
|
||||
flowLayout.minimumInteritemSpacing = auto(5)
|
||||
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.titleLabel?.font = .mediumFont(auto(13))
|
||||
contactButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||
@@ -1462,6 +1539,10 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
radiusView.addSubview(merchantLabel)
|
||||
radiusView.addSubview(positionTitleLabel)
|
||||
radiusView.addSubview(positionLabel)
|
||||
radiusView.addSubview(juheTitleLabel)
|
||||
juheButton.setTitleColor(.hex("ff0000"), for: .normal)
|
||||
juheButton.titleLabel?.font = .mediumFont(auto(13))
|
||||
radiusView.addSubview(juheButton)
|
||||
carTypeLabel.numberOfLines = 0
|
||||
radiusView.addSubview(carTypeLabel)
|
||||
radiusView.addSubview(carTypeTitleLabel)
|
||||
@@ -1485,6 +1566,10 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
radiusView.addSubview(photoView)
|
||||
photoCollectionView.backgroundColor = .white
|
||||
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.borderWidth = 1
|
||||
contactButton.layer.cornerRadius = auto(4)
|
||||
@@ -1553,12 +1638,25 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
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.left.equalTo(typeLabel)
|
||||
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
|
||||
make.top.equalTo(serviceTitleLabel)
|
||||
make.left.equalTo(serviceTitleLabel.snp.right)
|
||||
@@ -1628,7 +1726,7 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
}
|
||||
|
||||
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.width.equalTo(auto(80))
|
||||
make.height.equalTo(auto(30))
|
||||
@@ -1641,6 +1739,13 @@ class RescuePendingDispatchCell : DDTableViewCell {
|
||||
make.width.equalTo(auto(80))
|
||||
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 destinationTitleLabel : DDLabel
|
||||
public let destinationLabel : DDLabel
|
||||
public let contactButton : DDButton
|
||||
public let dispatchButton : DDButton
|
||||
public let reportButton : DDButton
|
||||
public let reportDetailButton : DDButton
|
||||
@@ -1718,6 +1824,9 @@ class RescueIsIngCell : DDTableViewCell {
|
||||
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))
|
||||
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.titleLabel?.font = .mediumFont(13)
|
||||
dispatchButton.setTitleColor(.hex("000000").alpha(0.7), for: .normal)
|
||||
@@ -1752,6 +1861,10 @@ class RescueIsIngCell : DDTableViewCell {
|
||||
radiusView.addSubview(destinationTitleLabel)
|
||||
destinationLabel.numberOfLines = 0
|
||||
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.borderWidth = 1
|
||||
dispatchButton.layer.cornerRadius = auto(4)
|
||||
@@ -1842,19 +1955,25 @@ class RescueIsIngCell : DDTableViewCell {
|
||||
}
|
||||
|
||||
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.width.equalTo(auto(80))
|
||||
make.height.equalTo(auto(30))
|
||||
}
|
||||
|
||||
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.width.equalTo(auto(80))
|
||||
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) {
|
||||
|
||||
134
Podfile.lock
134
Podfile.lock
@@ -10,55 +10,55 @@ PODS:
|
||||
- AMapTrack-NO-IDFA (1.4.2):
|
||||
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
||||
- AMapLocation-NO-IDFA (>= 2.6.7)
|
||||
- BRPickerView (2.8.1):
|
||||
- BRPickerView/AddressPickerView (= 2.8.1)
|
||||
- BRPickerView/Base (= 2.8.1)
|
||||
- BRPickerView/DatePickerView (= 2.8.1)
|
||||
- BRPickerView/StringPickerView (= 2.8.1)
|
||||
- BRPickerView/AddressPickerView (2.8.1):
|
||||
- BRPickerView (2.8.0):
|
||||
- BRPickerView/AddressPickerView (= 2.8.0)
|
||||
- BRPickerView/Base (= 2.8.0)
|
||||
- BRPickerView/DatePickerView (= 2.8.0)
|
||||
- BRPickerView/StringPickerView (= 2.8.0)
|
||||
- BRPickerView/AddressPickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- BRPickerView/Base (2.8.1)
|
||||
- BRPickerView/DatePickerView (2.8.1):
|
||||
- BRPickerView/Base (2.8.0)
|
||||
- BRPickerView/DatePickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- BRPickerView/StringPickerView (2.8.1):
|
||||
- BRPickerView/StringPickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- Bugly (2.5.93)
|
||||
- DDAudioPlayerKit_Private (0.1.5)
|
||||
- DDAutoUIKit_Private (0.1.3)
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.3)
|
||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.4)
|
||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.4):
|
||||
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.4):
|
||||
- "DDCategoryKit_Private/UIButton+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.4):
|
||||
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.4):
|
||||
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.4):
|
||||
- "DDCategoryKit_Private/UILabel+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.4):
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
||||
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.4):
|
||||
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.4):
|
||||
- "DDCategoryKit_Private/UITableView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.4):
|
||||
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.4):
|
||||
- "DDCategoryKit_Private/UITextField+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.4):
|
||||
- "DDCategoryKit_Private/UITextView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
||||
- DDLogKit_Private
|
||||
@@ -186,35 +186,35 @@ PODS:
|
||||
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
||||
- DDLogKit_Private/OCLog (0.1.4)
|
||||
- DDLogKit_Private/SwiftLog (0.1.4)
|
||||
- DDMAMapKit_Private (0.1.4):
|
||||
- DDMAMapKit_Private/DDMALocation (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMASearch (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMALocation (0.1.4):
|
||||
- DDMAMapKit_Private (0.1.5):
|
||||
- DDMAMapKit_Private/DDMALocation (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMASearch (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMALocation (0.1.5):
|
||||
- AMapLocation-NO-IDFA (= 2.9.0)
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation
|
||||
@@ -223,28 +223,28 @@ PODS:
|
||||
- DDMAMapKit_Private/DDMAMap/Sources
|
||||
- DDMAMapKit_Private/DDMAMap/Trace
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMANaviManager (0.1.4):
|
||||
- DDMAMapKit_Private/DDMANaviManager (0.1.5):
|
||||
- AMapNavi-NO-IDFA (= 9.6.0)
|
||||
- DDMAMapKit_Private/DDMASearch (0.1.4):
|
||||
- DDMAMapKit_Private/DDMASearch (0.1.5):
|
||||
- AMapSearch-NO-IDFA (= 9.5.0)
|
||||
- "DDCategoryKit_Private/NSThread+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMATrackManager (0.1.4):
|
||||
- DDMAMapKit_Private/DDMATrackManager (0.1.5):
|
||||
- AMapTrack-NO-IDFA (= 1.4.2)
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAUtil (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAUtil (0.1.5):
|
||||
- DDMAMapKit_Private/DDMAMap
|
||||
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
||||
- Alamofire
|
||||
@@ -255,16 +255,18 @@ PODS:
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- Kingfisher
|
||||
- SnapKit
|
||||
- DDTimerSwiftKit_Private (0.1.3):
|
||||
- DDTimerSwiftKit_Private (0.2.1):
|
||||
- DDLogKit_Private/SwiftLog
|
||||
- DDToastKit_Private (0.1.2)
|
||||
- DDUtilsSwiftKit_Private (0.1.0):
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.0)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.0)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (0.1.0)
|
||||
- DDUtilsSwiftKit_Private (0.1.1):
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/FileManager (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.1)
|
||||
- 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/DDWebImage (= 0.1.3)
|
||||
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
||||
@@ -306,7 +308,7 @@ PODS:
|
||||
- ZLPhotoBrowser/Core (4.4.3.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- BRPickerView
|
||||
- BRPickerView (= 2.8.0)
|
||||
- Bugly
|
||||
- DDAudioPlayerKit_Private
|
||||
- DDAutoUIKit_Private
|
||||
@@ -391,24 +393,24 @@ SPEC CHECKSUMS:
|
||||
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
||||
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
||||
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
||||
BRPickerView: 2531a2d4d0fea0b57a1c738de215af0f88863a2f
|
||||
BRPickerView: a0ff460bf092bc069db5a54153395b1f7e8f5300
|
||||
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
||||
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
||||
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
||||
DDBasicControlsKit_Private: 4fb51a0ccefc9e62791352a0d55e86c4f679a5c9
|
||||
DDBasicControlsKit_Private: d78c6ac0235bdf084652a970179a1141dfd45710
|
||||
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
||||
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
||||
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
||||
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
||||
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
||||
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
||||
DDMAMapKit_Private: fda2942ba7a3b7da4d440e59a89db9fd6708d842
|
||||
DDMAMapKit_Private: b378d69f693d6998d136155cd5c81be2e4545fae
|
||||
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
||||
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
||||
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
||||
DDTimerSwiftKit_Private: e9c55d0d9d60de4965b369b342bb903c85542cff
|
||||
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
|
||||
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
||||
DDUtilsSwiftKit_Private: a0bb323c6bac3bf68e94f95d10fd9e3529fb773d
|
||||
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
|
||||
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
||||
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
||||
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
||||
@@ -427,6 +429,6 @@ SPEC CHECKSUMS:
|
||||
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
||||
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
||||
|
||||
PODFILE CHECKSUM: 75e62ee633534110b4a33fd42fd1175199c85796
|
||||
PODFILE CHECKSUM: 96c1ebaac8dd93918200066b5731f8b3d0ee177c
|
||||
|
||||
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 *name;
|
||||
/** 省的索引 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
/** 城市数组 */
|
||||
@property (nullable, nonatomic, copy) NSArray *citylist;
|
||||
/** 记录省选择的索引位置 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
|
||||
@end
|
||||
|
||||
@@ -30,10 +30,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nullable, nonatomic, copy) NSString *code;
|
||||
/** 市的名称 */
|
||||
@property (nullable, nonatomic, copy) NSString *name;
|
||||
/** 市的索引 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
/** 地区数组 */
|
||||
@property (nullable, nonatomic, copy) NSArray *arealist;
|
||||
/** 记录市选择的索引位置 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
|
||||
@end
|
||||
|
||||
@@ -43,7 +43,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nullable, nonatomic, copy) NSString *code;
|
||||
/** 区的名称 */
|
||||
@property (nullable, nonatomic, copy) NSString *name;
|
||||
/** 记录区选择的索引位置 */
|
||||
/** 区的索引 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
|
||||
@end
|
||||
|
||||
@@ -445,10 +445,6 @@
|
||||
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
||||
[self addSubview:self.pickerView];
|
||||
} 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];
|
||||
}
|
||||
|
||||
|
||||
12
Pods/BRPickerView/BRPickerView/Base/BRBaseView.m
generated
12
Pods/BRPickerView/BRPickerView/Base/BRBaseView.m
generated
@@ -300,18 +300,6 @@
|
||||
}
|
||||
|
||||
[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;
|
||||
rect.origin.y = self.bounds.size.height;
|
||||
|
||||
@@ -17,9 +17,6 @@
|
||||
"分" = " ";
|
||||
"秒" = " ";
|
||||
|
||||
"周" = " ";
|
||||
"季度" = " ";
|
||||
|
||||
"上午" = "AM";
|
||||
"下午" = "PM";
|
||||
|
||||
|
||||
@@ -17,9 +17,6 @@
|
||||
"分" = "分";
|
||||
"秒" = "秒";
|
||||
|
||||
"周" = "周";
|
||||
"季度" = "季度";
|
||||
|
||||
"上午" = "上午";
|
||||
"下午" = "下午";
|
||||
|
||||
|
||||
@@ -17,9 +17,6 @@
|
||||
"分" = "分";
|
||||
"秒" = "秒";
|
||||
|
||||
"周" = "周";
|
||||
"季度" = "季度";
|
||||
|
||||
"上午" = "上午";
|
||||
"下午" = "下午";
|
||||
|
||||
|
||||
@@ -49,15 +49,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/** 获取 secondArr 数组 */
|
||||
- (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 */
|
||||
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)view;
|
||||
|
||||
@@ -80,10 +71,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
- (NSString *)getSecondText:(NSArray *)secondArr row:(NSInteger)row;
|
||||
|
||||
- (NSString *)getWeekText:(NSArray *)weekArr row:(NSInteger)row;
|
||||
|
||||
- (NSString *)getQuarterText:(NSArray *)quarterArr row:(NSInteger)row;
|
||||
|
||||
- (NSString *)getAMText;
|
||||
|
||||
- (NSString *)getPMText;
|
||||
@@ -100,10 +87,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
- (NSString *)getSecondUnit;
|
||||
|
||||
- (NSString *)getWeekUnit;
|
||||
|
||||
- (NSString *)getQuarterUnit;
|
||||
|
||||
- (NSInteger)getIndexWithArray:(NSArray *)array object:(NSString *)obj;
|
||||
|
||||
@end
|
||||
|
||||
@@ -368,69 +368,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
||||
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
|
||||
- (void)setupPickerView:(UIView *)pickerView toView:(UIView *)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);
|
||||
[self addSubview:pickerView];
|
||||
} 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];
|
||||
}
|
||||
}
|
||||
@@ -554,7 +487,7 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
||||
NSInteger index = [monthString integerValue] - 1;
|
||||
monthString = (index >= 0 && index < self.monthNames.count) ? self.monthNames[index] : @"";
|
||||
} 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];
|
||||
dateFormatter.locale = [[NSLocale alloc]initWithLocaleIdentifier:self.pickerStyle.language];
|
||||
@@ -625,32 +558,6 @@ BRSYNTH_DUMMY_CLASS(BRDatePickerView_BR)
|
||||
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 {
|
||||
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];
|
||||
}
|
||||
|
||||
- (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 {
|
||||
if (!array || array.count == 0 || !obj) {
|
||||
return 0;
|
||||
|
||||
@@ -24,7 +24,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
||||
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
||||
BRDatePickerModeCountDownTimer,
|
||||
|
||||
// ----- 以下14种是自定义样式 -----
|
||||
// ----- 以下11种是自定义样式 -----
|
||||
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
||||
BRDatePickerModeYMDHMS,
|
||||
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
||||
@@ -46,14 +46,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
||||
/** 【HH:mm】时分 */
|
||||
BRDatePickerModeHM,
|
||||
/** 【mm:ss】分秒 */
|
||||
BRDatePickerModeMS,
|
||||
|
||||
/** 【yyyy-qq】年季度 */
|
||||
BRDatePickerModeYQ,
|
||||
/** 【yyyy-MM-ww】年月周 */
|
||||
BRDatePickerModeYMW,
|
||||
/** 【yyyy-ww】年周 */
|
||||
BRDatePickerModeYW
|
||||
BRDatePickerModeMS
|
||||
};
|
||||
|
||||
/// 日期单位显示的位置
|
||||
@@ -68,8 +61,6 @@ typedef NS_ENUM(NSInteger, BRShowUnitType) {
|
||||
|
||||
typedef void (^BRDateResultBlock)(NSDate * _Nullable selectDate, NSString * _Nullable selectValue);
|
||||
|
||||
typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDate * _Nullable selectEndDate, NSString * _Nullable selectValue);
|
||||
|
||||
@interface BRDatePickerView : BRBaseView
|
||||
|
||||
/**
|
||||
@@ -94,13 +85,9 @@ typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDat
|
||||
|
||||
/** 选择结果的回调 */
|
||||
@property (nullable, nonatomic, copy) BRDateResultBlock resultBlock;
|
||||
/** 选择结果范围的回调:for `BRDatePickerModeYQ`、`BRDatePickerModeYMW`、`BRDatePickerModeYW`, ignored otherwise. */
|
||||
@property (nullable, nonatomic, copy) BRDateResultRangeBlock resultRangeBlock;
|
||||
|
||||
/** 滚动选择时触发的回调 */
|
||||
@property (nullable, nonatomic, copy) BRDateResultBlock changeBlock;
|
||||
/** 滚动选择范围时触发的回调:for `BRDatePickerModeYQ`、`BRDatePickerModeYMW`、`BRDatePickerModeYW`, ignored otherwise. */
|
||||
@property (nullable, nonatomic, copy) BRDateResultRangeBlock changeRangeBlock;
|
||||
|
||||
/** 日期单位显示类型 */
|
||||
@property (nonatomic, assign) BRShowUnitType showUnitType;
|
||||
@@ -247,27 +234,6 @@ typedef void (^BRDateResultRangeBlock)(NSDate * _Nullable selectStartDate, NSDat
|
||||
isAutoSelect:(BOOL)isAutoSelect
|
||||
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
|
||||
|
||||
|
||||
@@ -36,11 +36,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
@property(nonatomic, copy) NSArray *minuteArr;
|
||||
@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 monthIndex;
|
||||
@@ -49,11 +44,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
@property(nonatomic, assign) NSInteger minuteIndex;
|
||||
@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, copy) NSString *mSelectValue;
|
||||
@@ -96,18 +86,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
maxDate:(NSDate *)maxDate
|
||||
isAutoSelect:(BOOL)isAutoSelect
|
||||
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];
|
||||
datePickerView.pickerMode = mode;
|
||||
@@ -117,7 +95,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
datePickerView.maxDate = maxDate;
|
||||
datePickerView.isAutoSelect = isAutoSelect;
|
||||
datePickerView.resultBlock = resultBlock;
|
||||
datePickerView.resultRangeBlock = resultRangeBlock;
|
||||
// 显示
|
||||
[datePickerView show];
|
||||
}
|
||||
@@ -182,9 +159,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
self.hourArr = nil;
|
||||
self.minuteArr = nil;
|
||||
self.secondArr = nil;
|
||||
self.monthWeekArr = nil;
|
||||
self.yearWeekArr = nil;
|
||||
self.quarterArr = nil;
|
||||
}
|
||||
break;
|
||||
case BRDatePickerModeMDHM:
|
||||
@@ -196,9 +170,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
self.hourArr = nil;
|
||||
self.minuteArr = nil;
|
||||
self.secondArr = nil;
|
||||
self.monthWeekArr = nil;
|
||||
self.yearWeekArr = nil;
|
||||
self.quarterArr = nil;
|
||||
}
|
||||
break;
|
||||
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.minuteArr = nil;
|
||||
self.secondArr = nil;
|
||||
self.monthWeekArr = nil;
|
||||
self.yearWeekArr = nil;
|
||||
self.quarterArr = nil;
|
||||
}
|
||||
break;
|
||||
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.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.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;
|
||||
|
||||
@@ -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.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.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]];
|
||||
}
|
||||
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:
|
||||
break;
|
||||
@@ -422,11 +323,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
|
||||
#pragma mark - 更新日期数据源数组
|
||||
- (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;
|
||||
// 1.更新 monthArr
|
||||
if (self.yearArr.count == 0) {
|
||||
@@ -439,9 +335,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
self.hourArr = nil;
|
||||
self.minuteArr = nil;
|
||||
self.secondArr = nil;
|
||||
self.monthWeekArr = nil;
|
||||
self.yearWeekArr = nil;
|
||||
self.quarterArr = nil;
|
||||
|
||||
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
|
||||
if (self.monthArr.count == 0) {
|
||||
return;
|
||||
@@ -508,7 +365,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
self.hourArr = nil;
|
||||
self.minuteArr = nil;
|
||||
self.secondArr = nil;
|
||||
self.monthWeekArr = nil;
|
||||
|
||||
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
|
||||
if (self.dayArr.count == 0) {
|
||||
return;
|
||||
@@ -668,12 +506,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
indexArr = @[@(self.hourIndex), @(self.minuteIndex)];
|
||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||
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;
|
||||
for (NSInteger i = 0; i < indexArr.count; i++) {
|
||||
@@ -690,15 +522,12 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
case BRDatePickerModeYMD:
|
||||
case BRDatePickerModeYM:
|
||||
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 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;
|
||||
} 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;
|
||||
}
|
||||
[self.pickerView selectRow:yearIndex inComponent:component animated:animated];
|
||||
@@ -781,12 +610,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
return 2;
|
||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||
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;
|
||||
}
|
||||
@@ -824,12 +647,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
rowsArr = @[@(self.hourArr.count), @(self.minuteArr.count)];
|
||||
} else if (self.pickerMode == BRDatePickerModeMS) {
|
||||
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) {
|
||||
return [rowsArr[component] integerValue];
|
||||
@@ -953,26 +770,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
} else if (component == 1) {
|
||||
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;
|
||||
@@ -1371,84 +1168,6 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
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,日期联动不正确问题)
|
||||
@@ -1482,20 +1201,12 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
self.changeBlock(self.mSelectDate, self.mSelectValue);
|
||||
}
|
||||
|
||||
// 滚动选择范围时执行 changeBlock 回调
|
||||
if (self.changeRangeBlock) {
|
||||
self.changeRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
||||
}
|
||||
|
||||
// 设置自动选择时,滚动选择时就执行 resultBlock
|
||||
if (self.isAutoSelect) {
|
||||
// 滚动完成后,执行block回调
|
||||
if (self.resultBlock) {
|
||||
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);
|
||||
}
|
||||
|
||||
// 滚动选择范围时执行 changeBlock 回调
|
||||
if (self.changeRangeBlock) {
|
||||
self.changeRangeBlock(self.getSelectRangeDate.firstObject, self.getSelectRangeDate.lastObject, self.mSelectValue);
|
||||
}
|
||||
|
||||
// 设置自动选择时,滚动选择时就执行 resultBlock
|
||||
if (self.isAutoSelect) {
|
||||
// 滚动完成后,执行block回调
|
||||
if (self.resultBlock) {
|
||||
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) {
|
||||
weakSelf.resultBlock(weakSelf.mSelectDate, weakSelf.mSelectValue);
|
||||
}
|
||||
if (weakSelf.resultRangeBlock) {
|
||||
weakSelf.resultRangeBlock(weakSelf.getSelectRangeDate.firstObject, weakSelf.getSelectRangeDate.lastObject, weakSelf.mSelectValue);
|
||||
}
|
||||
};
|
||||
|
||||
[super addPickerToView:view];
|
||||
@@ -1858,108 +1558,4 @@ typedef NS_ENUM(NSInteger, BRDatePickerStyle) {
|
||||
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
|
||||
|
||||
@@ -13,16 +13,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface NSDate (BRPickerView)
|
||||
/// 获取指定date的详细信息
|
||||
@property (readonly) NSInteger br_year; // 年
|
||||
@property (readonly) NSInteger br_month; // 月
|
||||
@property (readonly) NSInteger br_day; // 日
|
||||
@property (readonly) NSInteger br_hour; // 时
|
||||
@property (readonly) NSInteger br_minute; // 分
|
||||
@property (readonly) NSInteger br_second; // 秒
|
||||
@property (readonly) NSInteger br_weekday; // 星期
|
||||
@property (readonly) NSInteger br_monthWeek; // 月周
|
||||
@property (readonly) NSInteger br_yearWeek; // 年周
|
||||
@property (readonly) NSInteger br_quarter; // 季度
|
||||
@property (readonly) NSInteger br_year; // 年
|
||||
@property (readonly) NSInteger br_month; // 月
|
||||
@property (readonly) NSInteger br_day; // 日
|
||||
@property (readonly) NSInteger br_hour; // 时
|
||||
@property (readonly) NSInteger br_minute; // 分
|
||||
@property (readonly) NSInteger br_second; // 秒
|
||||
@property (readonly) NSInteger br_weekday; // 星期
|
||||
|
||||
/** 获取中文星期字符串 */
|
||||
@property (nullable, nonatomic, readonly, copy) NSString *br_weekdayString;
|
||||
@@ -68,33 +65,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/** mm:ss */
|
||||
+ (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_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_getNewDateToMonths:(NSTimeInterval)months;
|
||||
|
||||
/** NSDate 转 NSString */
|
||||
+ (nullable NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
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)
|
||||
|
||||
@@ -78,28 +78,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
||||
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 - 获取指定日期的星期
|
||||
- (NSString *)br_weekdayString {
|
||||
switch (self.br_weekday - 1) {
|
||||
@@ -160,12 +138,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
||||
|
||||
#pragma mark - 创建date(通过 NSCalendar 类来创建日期)
|
||||
+ (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]];
|
||||
if (year > 0) {
|
||||
// 初始化日期组件
|
||||
@@ -187,15 +159,6 @@ static const NSCalendarUnit unitFlags = (NSCalendarUnitYear | NSCalendarUnitMont
|
||||
if (second >= 0) {
|
||||
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];
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
+ (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 - 获取某个月的天数(通过年月求每月天数)
|
||||
+ (NSUInteger)br_getDaysInYear:(NSInteger)year month:(NSInteger)month {
|
||||
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;
|
||||
}
|
||||
|
||||
#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 - 获取 日期加上/减去某天数后的新日期
|
||||
- (NSDate *)br_getNewDateToDays:(NSTimeInterval)days {
|
||||
// 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
|
||||
+ (NSString *)br_stringFromDate:(NSDate *)date dateFormat:(NSString *)dateFormat {
|
||||
return [self br_stringFromDate:date dateFormat:dateFormat timeZone:nil language:nil];
|
||||
|
||||
@@ -13,24 +13,21 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface BRResultModel : NSObject
|
||||
|
||||
/** 索引 */
|
||||
@property (nonatomic, assign) NSInteger index;
|
||||
/** key */
|
||||
@property (nullable, nonatomic, copy) NSString *key;
|
||||
/** value */
|
||||
@property (nullable, nonatomic, copy) NSString *value;
|
||||
|
||||
/** 父级key(提示:联动时第一级数据,parentKey设置为:@"-1") */
|
||||
@property (nullable, nonatomic, copy) NSString *parentKey;
|
||||
/** 父级value */
|
||||
@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, strong) id extras;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -476,10 +476,6 @@
|
||||
self.pickerView.frame = CGRectMake(0, pickerHeaderViewHeight, view.bounds.size.width, view.bounds.size.height - pickerHeaderViewHeight - pickerFooterViewHeight);
|
||||
[self addSubview:self.pickerView];
|
||||
} 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];
|
||||
}
|
||||
|
||||
|
||||
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` 进行搜索,就会看到最新版本。
|
||||
|
||||
# 效果演示
|
||||
@@ -57,7 +57,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
||||
/** 【HH:mm】UIDatePickerModeCountDownTimer */
|
||||
BRDatePickerModeCountDownTimer,
|
||||
|
||||
// ----- 以下14种是自定义样式 -----
|
||||
// ----- 以下11种是自定义样式 -----
|
||||
/** 【yyyy-MM-dd HH:mm:ss】年月日时分秒 */
|
||||
BRDatePickerModeYMDHMS,
|
||||
/** 【yyyy-MM-dd HH:mm】年月日时分 */
|
||||
@@ -79,14 +79,7 @@ typedef NS_ENUM(NSInteger, BRDatePickerMode) {
|
||||
/** 【HH:mm】时分 */
|
||||
BRDatePickerModeHM,
|
||||
/** 【mm:ss】分秒 */
|
||||
BRDatePickerModeMS,
|
||||
|
||||
/** 【yyyy-qq】年季度 */
|
||||
BRDatePickerModeYQ,
|
||||
/** 【yyyy-MM-ww】年月周 */
|
||||
BRDatePickerModeYMW,
|
||||
/** 【yyyy-ww】年周 */
|
||||
BRDatePickerModeYW
|
||||
BRDatePickerModeMS
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@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_backActionPopViewController:(BOOL)isAnimated;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#import "DDMANaviManager.h"
|
||||
#import <AMapNaviKit/AMapNaviKit.h>
|
||||
@interface DDMANaviManager ()
|
||||
@interface DDMANaviManager () <AMapNaviCompositeManagerDelegate>
|
||||
@property (nonatomic, strong)AMapNaviCompositeManager *compositeManager;
|
||||
@end
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
- (AMapNaviCompositeManager *)compositeManager{
|
||||
if (!_compositeManager) {
|
||||
_compositeManager = [[AMapNaviCompositeManager alloc] init];
|
||||
_compositeManager.delegate = self;
|
||||
}
|
||||
return _compositeManager;
|
||||
}
|
||||
@@ -69,4 +70,13 @@
|
||||
[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
|
||||
|
||||
@@ -12,10 +12,8 @@ open class GCDTimer {
|
||||
public static let `default` = GCDTimer()
|
||||
|
||||
private var timerSources : [GCDTimerAbstract] = []
|
||||
|
||||
private var canceledCompletionHandler:(() -> Void)? // 主动取消定时器时,由于定时器当前可能存在任务,所以要等任务结束后再进行相应的操作
|
||||
|
||||
private var removeQueue = DispatchQueue(label: "GCDTimerRemoveQueue") // 移除定时器的时候,由于存在多个定时器同时移除的情况,定时器本身是异步操作的,所以从timerSources中移除GCDTimerAbstract的操作也是异步的,这就会导致数组在遍历的同时也在从数组中删除项目,会有问题,所以把删除的操作放在同步队列中
|
||||
|
||||
private var timerAddOrRemoveQueue = DispatchQueue(label: "GCDTimerAddOrRemoveQueue") // 移除定时器的时候,由于存在多个定时器同时移除的情况,定时器本身是异步操作的,所以从timerSources中移除GCDTimerAbstract的操作也是异步的,这就会导致数组在遍历的同时也在从数组中删除项目,会有问题,所以把删除的操作放在同步队列中
|
||||
|
||||
/// 取消定时器时,定时器如果有正在执行的任务,会先将当前正在执行的任务执行完成才会取消成功,因此如果需要添加相同名字的定时器,需要确保之前同名的定时器已经被彻底取消了。
|
||||
/// - Parameters:
|
||||
@@ -27,63 +25,92 @@ open class GCDTimer {
|
||||
/// - cancelHandler: 如果执行了cancelHandler,就不会执行completionHandler
|
||||
/// - 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) {
|
||||
if let _ = timerSources.first(where: { gcdTimerA in
|
||||
gcdTimerA.timerName == timerName
|
||||
}) {
|
||||
DDLog(message: "定时器\'\(timerName)\'重复添加,添加失败")
|
||||
return
|
||||
}
|
||||
|
||||
let gcdTimerA = GCDTimerAbstract(named: timerName)
|
||||
gcdTimerA.addGCDTimer(delay: delay, repeating: repeating, repeatCount: repeatCount) {
|
||||
repeatHandler()
|
||||
} cancelHandler: {[weak self] timerName in
|
||||
// 移除定时器
|
||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {[weak self] in
|
||||
// 添加定时器处执行取消操作
|
||||
if let cancelHandler {
|
||||
cancelHandler()
|
||||
}
|
||||
// 取消定时器处执行取消操作
|
||||
if let canceledCompletionHandler = self?.canceledCompletionHandler {
|
||||
canceledCompletionHandler()
|
||||
}
|
||||
})
|
||||
} completionHandler: {[weak self] timerName in
|
||||
// 移除定时器
|
||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
||||
// 执行结束操作
|
||||
if let completionHandler {
|
||||
completionHandler()
|
||||
}
|
||||
})
|
||||
}
|
||||
timerAddOrRemoveQueue.async { [weak self] in
|
||||
if let _ = self?.timerSources.first(where: { gcdTimerA in
|
||||
gcdTimerA.timerName == timerName
|
||||
}) {
|
||||
DDLog(message: "定时器\'\(timerName)\'重复添加,添加失败")
|
||||
return
|
||||
}
|
||||
|
||||
let gcdTimerA = GCDTimerAbstract(named: timerName)
|
||||
gcdTimerA.addGCDTimer(delay: delay, repeating: repeating, repeatCount: repeatCount) {
|
||||
repeatHandler()
|
||||
} cancelHandler: {[weak self] (timerName,canceledCompletionHandler) in
|
||||
// 移除定时器
|
||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
||||
// 添加定时器处执行取消操作
|
||||
if let cancelHandler {
|
||||
cancelHandler()
|
||||
}
|
||||
// 取消定时器处执行取消操作
|
||||
if let canceledCompletionHandler {
|
||||
canceledCompletionHandler()
|
||||
}
|
||||
})
|
||||
} completionHandler: {[weak self] (timerName,canceledCompletionHandler) in
|
||||
// 移除定时器
|
||||
self?.removeGCDTimer(named: timerName,removeComletionHandler: {
|
||||
// 执行结束操作
|
||||
if let completionHandler {
|
||||
completionHandler()
|
||||
}
|
||||
// 这是一种特殊的情况,当且仅当主动取消定时器时,定时器正在进行最后一次任务操作
|
||||
if let canceledCompletionHandler {
|
||||
canceledCompletionHandler()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
timerSources.append(gcdTimerA)
|
||||
DDLog(message: "定时器\'\(timerName)\'添加成功")
|
||||
// 打印剩余的定时器
|
||||
logTimerName()
|
||||
self?.timerSources.append(gcdTimerA)
|
||||
DDLog(message: "定时器\'\(timerName)\'添加成功")
|
||||
// 打印剩余的定时器
|
||||
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。
|
||||
/// - Parameters:
|
||||
/// - timerName: 定时器名字
|
||||
/// - canceledCompletionHandler: 取消定时器后的操作
|
||||
public func cancelGCDTimer(named timerName:String,canceledCompletionHandler:(() -> Void)? = nil) {
|
||||
self.canceledCompletionHandler = canceledCompletionHandler
|
||||
|
||||
// 当timerSources中包含定时器时,取消定时器
|
||||
if let gcdTimerA = timerSources.first(where: { gcdTimerA in
|
||||
gcdTimerA.timerName == timerName
|
||||
}) {
|
||||
gcdTimerA.cancelGCDTimer(isCanceledManually: true)
|
||||
}else{
|
||||
if let canceledCompletionHandler {
|
||||
canceledCompletionHandler()
|
||||
timerAddOrRemoveQueue.async {[weak self] in
|
||||
// 当timerSources中包含定时器时,取消定时器
|
||||
if let gcdTimerA = self?.timerSources.first(where: { gcdTimerA in
|
||||
gcdTimerA.timerName == timerName
|
||||
}) {
|
||||
gcdTimerA.canceledCompletionHandler = canceledCompletionHandler
|
||||
gcdTimerA.cancelGCDTimer(isCanceledManually: true)
|
||||
}else{
|
||||
// 异步操作回调
|
||||
DispatchQueue.global().async {
|
||||
if let canceledCompletionHandler {
|
||||
canceledCompletionHandler()
|
||||
}
|
||||
}
|
||||
// 打印剩余的定时器
|
||||
self?.logTimerName()
|
||||
}
|
||||
// 打印剩余的定时器
|
||||
logTimerName()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,20 +123,6 @@ open class GCDTimer {
|
||||
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() {
|
||||
var array : [String] = []
|
||||
for gcdTimerA in timerSources {
|
||||
@@ -128,11 +141,13 @@ class GCDTimerAbstract {
|
||||
|
||||
public var isCanceledManually : Bool = false // 是否时主动取消定时器
|
||||
|
||||
public var canceledCompletionHandler:(() -> Void)? // 主动取消定时器时,由于定时器当前可能存在任务,所以要等任务结束后再进行相应的操作
|
||||
|
||||
init(named timerName: String) {
|
||||
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
|
||||
|
||||
@@ -143,6 +158,7 @@ class GCDTimerAbstract {
|
||||
leftRepeatCount-=1
|
||||
// 此时定时器次数结束
|
||||
if (leftRepeatCount > 0) == false {
|
||||
// 这里有一种特殊情况,当主动cancel了定时器,且在进行最后一次任务的时候,最后一次任务执行完正好来到这里,那么依然要调用canceledCompletionHandler
|
||||
self?.cancelGCDTimer(isCanceledManually: false)
|
||||
}
|
||||
})
|
||||
@@ -151,12 +167,12 @@ class GCDTimerAbstract {
|
||||
if self?.isCanceledManually == true {
|
||||
// 定时器中途被取消时,在添加定时器的位置需要执行的取消操作
|
||||
if let cancelHandler,let timerName = self?.timerName {
|
||||
cancelHandler(timerName)
|
||||
cancelHandler(timerName,self?.canceledCompletionHandler)
|
||||
}
|
||||
}else{
|
||||
// 定时器结束后执行
|
||||
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):
|
||||
- AMapFoundation-NO-IDFA (>= 1.6.4)
|
||||
- AMapLocation-NO-IDFA (>= 2.6.7)
|
||||
- BRPickerView (2.8.1):
|
||||
- BRPickerView/AddressPickerView (= 2.8.1)
|
||||
- BRPickerView/Base (= 2.8.1)
|
||||
- BRPickerView/DatePickerView (= 2.8.1)
|
||||
- BRPickerView/StringPickerView (= 2.8.1)
|
||||
- BRPickerView/AddressPickerView (2.8.1):
|
||||
- BRPickerView (2.8.0):
|
||||
- BRPickerView/AddressPickerView (= 2.8.0)
|
||||
- BRPickerView/Base (= 2.8.0)
|
||||
- BRPickerView/DatePickerView (= 2.8.0)
|
||||
- BRPickerView/StringPickerView (= 2.8.0)
|
||||
- BRPickerView/AddressPickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- BRPickerView/Base (2.8.1)
|
||||
- BRPickerView/DatePickerView (2.8.1):
|
||||
- BRPickerView/Base (2.8.0)
|
||||
- BRPickerView/DatePickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- BRPickerView/StringPickerView (2.8.1):
|
||||
- BRPickerView/StringPickerView (2.8.0):
|
||||
- BRPickerView/Base
|
||||
- Bugly (2.5.93)
|
||||
- DDAudioPlayerKit_Private (0.1.5)
|
||||
- DDAutoUIKit_Private (0.1.3)
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.3)
|
||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation (0.3.4)
|
||||
- DDBasicControlsKit_Private/DDBaseAttributedString (0.3.4):
|
||||
- "DDCategoryKit_Private/NSAttributedString+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseButton (0.3.4):
|
||||
- "DDCategoryKit_Private/UIButton+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionView (0.3.4):
|
||||
- "DDCategoryKit_Private/UICollectionView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseCollectionViewCell (0.3.4):
|
||||
- "DDCategoryKit_Private/UICollectionViewCell+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseImage (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseImageView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImageView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseLabel (0.3.4):
|
||||
- "DDCategoryKit_Private/UILabel+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseNavigationController (0.3.4):
|
||||
- DDBasicControlsKit_Private/DDBaseAnimation/DDTransitionAnimation
|
||||
- "DDCategoryKit_Private/UINavigationController+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseScrollView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIScrollView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseSwitch (0.3.4):
|
||||
- "DDCategoryKit_Private/UISwitch+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTableView (0.3.4):
|
||||
- "DDCategoryKit_Private/UITableView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTableViewCell (0.3.4):
|
||||
- "DDCategoryKit_Private/UITableViewCell+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTextField (0.3.4):
|
||||
- "DDCategoryKit_Private/UITextField+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseTextView (0.3.4):
|
||||
- "DDCategoryKit_Private/UITextView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseView (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseView (0.3.4):
|
||||
- "DDCategoryKit_Private/UIView+DDCategory"
|
||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.3):
|
||||
- DDBasicControlsKit_Private/DDBaseViewController (0.3.4):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- "DDCategoryKit_Private/UIViewController+DDCategory"
|
||||
- DDLogKit_Private
|
||||
@@ -186,35 +186,35 @@ PODS:
|
||||
- DDLogKit_Private/SwiftLog (= 0.1.4)
|
||||
- DDLogKit_Private/OCLog (0.1.4)
|
||||
- DDLogKit_Private/SwiftLog (0.1.4)
|
||||
- DDMAMapKit_Private (0.1.4):
|
||||
- DDMAMapKit_Private/DDMALocation (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMASearch (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMALocation (0.1.4):
|
||||
- DDMAMapKit_Private (0.1.5):
|
||||
- DDMAMapKit_Private/DDMALocation (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMANaviManager (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMASearch (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMATrackManager (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAUtil (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMALocation (0.1.5):
|
||||
- AMapLocation-NO-IDFA (= 2.9.0)
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.4)
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (= 0.1.5)
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/AnnotationView (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/MapView (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAMap/Annotation
|
||||
@@ -223,28 +223,28 @@ PODS:
|
||||
- DDMAMapKit_Private/DDMAMap/Sources
|
||||
- DDMAMapKit_Private/DDMAMap/Trace
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Overlay (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Sources (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAMap/Trace (0.1.5):
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMANaviManager
|
||||
- DDMAMapKit_Private/DDMANaviManager (0.1.4):
|
||||
- DDMAMapKit_Private/DDMANaviManager (0.1.5):
|
||||
- AMapNavi-NO-IDFA (= 9.6.0)
|
||||
- DDMAMapKit_Private/DDMASearch (0.1.4):
|
||||
- DDMAMapKit_Private/DDMASearch (0.1.5):
|
||||
- AMapSearch-NO-IDFA (= 9.5.0)
|
||||
- "DDCategoryKit_Private/NSThread+DDCategory"
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMATrackManager (0.1.4):
|
||||
- DDMAMapKit_Private/DDMATrackManager (0.1.5):
|
||||
- AMapTrack-NO-IDFA (= 1.4.2)
|
||||
- DDLogKit_Private
|
||||
- DDMAMapKit_Private/DDMAUtil (0.1.4):
|
||||
- DDMAMapKit_Private/DDMAUtil (0.1.5):
|
||||
- DDMAMapKit_Private/DDMAMap
|
||||
- DDNetworkingOfAlamofireKit_Private (0.1.8):
|
||||
- Alamofire
|
||||
@@ -255,16 +255,18 @@ PODS:
|
||||
- "DDCategoryKit_Private/UIImage+DDCategory"
|
||||
- Kingfisher
|
||||
- SnapKit
|
||||
- DDTimerSwiftKit_Private (0.1.3):
|
||||
- DDTimerSwiftKit_Private (0.2.1):
|
||||
- DDLogKit_Private/SwiftLog
|
||||
- DDToastKit_Private (0.1.2)
|
||||
- DDUtilsSwiftKit_Private (0.1.0):
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.0)
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.0)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (0.1.0)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (0.1.0)
|
||||
- DDUtilsSwiftKit_Private (0.1.1):
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/DeviceInfo (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/FileManager (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/UrlLinks (= 0.1.1)
|
||||
- DDUtilsSwiftKit_Private/ApplicationInfo (0.1.1)
|
||||
- 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/DDWebImage (= 0.1.3)
|
||||
- DDWebImageKit_Private/SDWebImage (= 0.1.3)
|
||||
@@ -306,7 +308,7 @@ PODS:
|
||||
- ZLPhotoBrowser/Core (4.4.3.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- BRPickerView
|
||||
- BRPickerView (= 2.8.0)
|
||||
- Bugly
|
||||
- DDAudioPlayerKit_Private
|
||||
- DDAutoUIKit_Private
|
||||
@@ -391,24 +393,24 @@ SPEC CHECKSUMS:
|
||||
AMapNavi-NO-IDFA: 70c724400376bfadcb8ec08b9761f526096cfdb6
|
||||
AMapSearch-NO-IDFA: 10cbd3ad7d122045a0c1f5760f6d46ff576ca918
|
||||
AMapTrack-NO-IDFA: 7109cf1867f5d6c407c8191492b1f73101e1682e
|
||||
BRPickerView: 2531a2d4d0fea0b57a1c738de215af0f88863a2f
|
||||
BRPickerView: a0ff460bf092bc069db5a54153395b1f7e8f5300
|
||||
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
|
||||
DDAudioPlayerKit_Private: c2bab407c6c6bb92b005315a72c8ee3768ffc6b3
|
||||
DDAutoUIKit_Private: 188066b4d13c8096676ddd9efa15974238f6dca3
|
||||
DDBasicControlsKit_Private: 4fb51a0ccefc9e62791352a0d55e86c4f679a5c9
|
||||
DDBasicControlsKit_Private: d78c6ac0235bdf084652a970179a1141dfd45710
|
||||
DDCategoryKit_Private: 19d515c43d5e9c4ee80b8ccf3fb8ab40368b8668
|
||||
DDColorKit_Private: 77fddb62410a2d5e6fb003083d233c0d7ea0a08f
|
||||
DDControlsKit_Private: c3ac79b391cec6ecb26262a0d3b02718f696ab19
|
||||
DDDateKit_Private: f8348d10cec77ccacd2f5ec27d587ea2898ae90a
|
||||
DDFontKit_Private: 7b8f4ebf0f60622874036202734d8460dc7b3806
|
||||
DDLogKit_Private: 1ed442cc7be004bd05f27bfda9b525e113df54e0
|
||||
DDMAMapKit_Private: fda2942ba7a3b7da4d440e59a89db9fd6708d842
|
||||
DDMAMapKit_Private: b378d69f693d6998d136155cd5c81be2e4545fae
|
||||
DDNetworkingOfAlamofireKit_Private: d65c96f99bc59311d374e7b7a7e8a9e042d9b5ea
|
||||
DDPersistenceKit_Private: c150822543ffa6ece3900178629812f64902ed90
|
||||
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
|
||||
DDTimerSwiftKit_Private: e9c55d0d9d60de4965b369b342bb903c85542cff
|
||||
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
|
||||
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
|
||||
DDUtilsSwiftKit_Private: a0bb323c6bac3bf68e94f95d10fd9e3529fb773d
|
||||
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
|
||||
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
|
||||
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
|
||||
ESTabBarController-swift: 05593a6ad64700b03c0eb60ff625916370aa4136
|
||||
@@ -427,6 +429,6 @@ SPEC CHECKSUMS:
|
||||
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
||||
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
|
||||
|
||||
PODFILE CHECKSUM: 75e62ee633534110b4a33fd42fd1175199c85796
|
||||
PODFILE CHECKSUM: 96c1ebaac8dd93918200066b5731f8b3d0ee177c
|
||||
|
||||
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>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.3.3</string>
|
||||
<string>0.3.4</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.1.4</string>
|
||||
<string>0.1.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<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 classname="fastlane.lanes" name="1: gym" time="74.855427">
|
||||
<testcase classname="fastlane.lanes" name="1: gym" time="75.985273">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="14.69913">
|
||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="21.546836">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user