Hibit_iOS/HiBit/Project/Publics/Views/HBRefreshNormalHeader.m
2024-06-07 13:38:31 +08:00

65 lines
2.6 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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