2017-02-07 82 views
2

我正在使用FSCalendar來實現自定義日曆。通過改變一些方法並處理各種選擇和取消選擇模式,我設法做出了類似於以下的內容。FSCalendar多選擇自定義

這裏是我到目前爲止截圖:

enter image description here

現在,設計者希望不同的顏色最初和最後的日期之間躺在所有日期。例如:除截圖3月13日和3月22日之外,所有日期應該是不同的顏色。

如何改變排除最終值和初始值的範圍內的日期顏色?

或者

如果有人能提出另一個項目/吊艙,將創建一個以上類似的用戶界面截圖,滿足色彩要求,這也適用!

回答

1

如果有人想知道我是怎麼做的,我必須在每個單元格內設置新的BOOL屬性,以跟蹤單元格是第一個,最後一個還是位於該範圍內。然後調用該窗格中提供的configureCell函數,並根據適當位置的BOOL值設置不同的顏色。裏面的FSCalendarCellconfigureAppearance

if (self.isCellInsideDateRange){ 

    cellFillColor = [self colorFromHexString:mainDictionary[@"calendarLightColor"]].CGColor; 

}else if(self.isCellFirstCell || self.isCellLastCell){ 

    cellFillColor = [self colorFromHexString:mainDictionary[@"calendarDarkColor"]].CGColor; 

}else{ 

    cellFillColor = [UIColor whiteColor].CGColor; 
} 

而且裏面FSCalendar.m每個cellForItemAtIndexPath請檢查是否在細胞內的日期內在於所選擇的日期範圍內和適當的BOOL值設置爲truefalse

我承認它需要相當多的很多處理我的部分,甚至然後我無法解決一些崩潰,開始發生由於細胞重用和它無法deque可重用的單元格。最可能的原因是我必須處理各種應用程序特定情況,添加新屬性以及單元格顏色動畫出現的時間。

最後,我使用了JTAppleCalendar,它提供了很多定製,儘管沒有動畫,但與定製功能相比,它是一件小事。