65 lines
2.6 KiB
Objective-C
65 lines
2.6 KiB
Objective-C
//
|
||
// HBRefreshNormalHeader.m
|
||
// QinJiuTV
|
||
//
|
||
// Created by HI_LOSER on 2024/6/6.
|
||
//
|
||
|
||
#import "HBRefreshNormalHeader.h"
|
||
|
||
@implementation HBRefreshNormalHeader
|
||
|
||
-(void)prepare{
|
||
[super prepare];
|
||
[self setTitle:[@"refresh_header_idle_text" language] forState:MJRefreshStateIdle];
|
||
[self setTitle:[@"refresh_header_pulling_text" language] forState:MJRefreshStatePulling];
|
||
[self setTitle:[@"refresh_Header_refreshing_text" language] forState:MJRefreshStateRefreshing];
|
||
}
|
||
- (void)setLastUpdatedTimeKey:(NSString *)lastUpdatedTimeKey {
|
||
[super setLastUpdatedTimeKey:lastUpdatedTimeKey];
|
||
|
||
// 如果label隐藏了,就不用再处理
|
||
if (self.lastUpdatedTimeLabel.hidden) return;
|
||
|
||
NSDate *lastUpdatedTime = [[NSUserDefaults standardUserDefaults] objectForKey:lastUpdatedTimeKey];
|
||
|
||
// 如果有block
|
||
if (self.lastUpdatedTimeText) {
|
||
self.lastUpdatedTimeLabel.text = self.lastUpdatedTimeText(lastUpdatedTime);
|
||
return;
|
||
}
|
||
|
||
if (lastUpdatedTime) {
|
||
// 1.获得年月日
|
||
NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
|
||
NSUInteger unitFlags = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute;
|
||
NSDateComponents *cmp1 = [calendar components:unitFlags fromDate:lastUpdatedTime];
|
||
NSDateComponents *cmp2 = [calendar components:unitFlags fromDate:[NSDate date]];
|
||
|
||
// 2.格式化日期
|
||
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
|
||
BOOL isToday = NO;
|
||
if ([cmp1 day] == [cmp2 day]) { // 今天
|
||
formatter.dateFormat = @" HH:mm";
|
||
isToday = YES;
|
||
} else if ([cmp1 year] == [cmp2 year]) { // 今年
|
||
formatter.dateFormat = @"MM-dd HH:mm";
|
||
} else {
|
||
formatter.dateFormat = @"yyyy-MM-dd HH:mm";
|
||
}
|
||
NSString *time = [formatter stringFromDate:lastUpdatedTime];
|
||
|
||
// 3.显示日期
|
||
self.lastUpdatedTimeLabel.text = [NSString stringWithFormat:@"%@%@%@",
|
||
[@"refresh_header_last_time_text" language],
|
||
isToday ? [@"refresh_header_date_today_text" language] : @"",
|
||
time];
|
||
} else {
|
||
self.lastUpdatedTimeLabel.text = [NSString stringWithFormat:@"%@%@",
|
||
[@"refresh_header_last_time_text" language],
|
||
[@"refresh_header_none_last_date_text" language]];
|
||
}
|
||
}
|
||
@end
|
||
|