部分需求修改

This commit is contained in:
DDIsFriend
2023-10-24 10:09:59 +08:00
parent 529d44d51d
commit c11aab7e05
45 changed files with 8039 additions and 8542 deletions

BIN
Pods/.DS_Store generated vendored

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

@@ -17,9 +17,6 @@
"分" = " ";
"秒" = " ";
"周" = " ";
"季度" = " ";
"上午" = "AM";
"下午" = "PM";

View File

@@ -17,9 +17,6 @@
"分" = "分";
"秒" = "秒";
"周" = "周";
"季度" = "季度";
"上午" = "上午";
"下午" = "下午";

View File

@@ -17,9 +17,6 @@
"分" = "分";
"秒" = "秒";
"周" = "周";
"季度" = "季度";
"上午" = "上午";
"下午" = "下午";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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") // timerSourcesGCDTimerAbstract
private var timerAddOrRemoveQueue = DispatchQueue(label: "GCDTimerAddOrRemoveQueue") // timerSourcesGCDTimerAbstract
///
/// - Parameters:
@@ -27,63 +25,92 @@ open class GCDTimer {
/// - cancelHandler: cancelHandlercompletionHandler
/// - completionHandler: completionHandlercancelHandler
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()
}
}
/// canceledCompletionHandlercanceledCompletionHandler
/// - 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 {
// cancelcanceledCompletionHandler
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)
}
}
})

View 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
{
}
}
}
}
}

Binary file not shown.

Binary file not shown.

134
Pods/Manifest.lock generated
View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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