From 4ae56376e9f36bcfa9ccce58a9094b694bc25a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Re=CC=81mi=20Dayres?= Date: Fri, 24 Jan 2020 15:32:38 +0100 Subject: [PATCH] Appearance : add `FSCalendarCaseOptionsHeaderUsesCapitalized` option --- FSCalendar/FSCalendarAppearance.h | 3 ++- FSCalendar/FSCalendarHeaderView.m | 9 +++++++-- FSCalendar/FSCalendarStickyHeader.m | 11 +++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/FSCalendar/FSCalendarAppearance.h b/FSCalendar/FSCalendarAppearance.h index c7dd3e3..b0af6af 100644 --- a/FSCalendar/FSCalendarAppearance.h +++ b/FSCalendar/FSCalendarAppearance.h @@ -29,7 +29,8 @@ typedef NS_ENUM(NSUInteger, FSCalendarSeparators) { typedef NS_OPTIONS(NSUInteger, FSCalendarCaseOptions) { FSCalendarCaseOptionsHeaderUsesDefaultCase = 0, - FSCalendarCaseOptionsHeaderUsesUpperCase = 1, + FSCalendarCaseOptionsHeaderUsesUpperCase = 1 << 0, + FSCalendarCaseOptionsHeaderUsesCapitalized = 1 << 1, FSCalendarCaseOptionsWeekdayUsesDefaultCase = 0 << 4, FSCalendarCaseOptionsWeekdayUsesUpperCase = 1 << 4, diff --git a/FSCalendar/FSCalendarHeaderView.m b/FSCalendar/FSCalendarHeaderView.m index d704c3c..ad728a4 100644 --- a/FSCalendar/FSCalendarHeaderView.m +++ b/FSCalendar/FSCalendarHeaderView.m @@ -158,7 +158,6 @@ cell.titleLabel.textColor = appearance.headerTitleColor; cell.titleLabel.textAlignment = appearance.headerTitleAlignment; _calendar.formatter.dateFormat = appearance.headerDateFormat; - BOOL usesUpperCase = (appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesUpperCase; NSString *text = nil; switch (self.calendar.transitionCoordinator.representingScope) { case FSCalendarScopeMonth: { @@ -190,7 +189,13 @@ break; } } - text = usesUpperCase ? text.uppercaseString : text; + BOOL usesUpperCase = (appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesUpperCase; + BOOL usesCapitalized = (appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesCapitalized; + if (usesUpperCase) { + text = text.uppercaseString; + } else if (usesCapitalized) { + text = text.capitalizedString; + } cell.titleLabel.text = text; [cell setNeedsLayout]; } diff --git a/FSCalendar/FSCalendarStickyHeader.m b/FSCalendar/FSCalendarStickyHeader.m index d7863ba..9311aec 100644 --- a/FSCalendar/FSCalendarStickyHeader.m +++ b/FSCalendar/FSCalendarStickyHeader.m @@ -103,9 +103,16 @@ { _month = month; _calendar.formatter.dateFormat = self.calendar.appearance.headerDateFormat; - BOOL usesUpperCase = (self.calendar.appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesUpperCase; + BOOL usesUpperCase = (self.calendar.appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesUpperCase; + BOOL usesCapitalized = (self.calendar.appearance.caseOptions & 15) == FSCalendarCaseOptionsHeaderUsesCapitalized; + NSString *text = [_calendar.formatter stringFromDate:_month]; - text = usesUpperCase ? text.uppercaseString : text; + if (usesUpperCase) { + text = text.uppercaseString; + } else if (usesCapitalized) { + text = text.capitalizedString; + } + self.titleLabel.text = text; }