2017-02-07 5 views
2

FSCalendar를 사용하여 사용자 정의 달력을 구현하고 있습니다. 몇 가지 방법을 변경하고 다양한 선택 및 선택 취소 모드를 처리하여 다음과 비슷한 것을 만들었습니다.FSCalendar 다중 선택 사용자 정의

enter image description here

지금 디자이너가 초기 및 최종 날짜 사이에 누워있는 모든 날짜에 대해 서로 다른 색상을 원하는 : 여기

내가 지금까지 무엇을의 스크린 샷이다. 예 : 3 월 13 일과 3 월 22 일의 스크린 샷 외에도 모든 날짜가 다른 색상이어야합니다.

최종 및 초기 값을 제외한 범위 내의 날짜 색상을 변경하려면 어떻게해야합니까?

또는

위의 스크린 샷과 비슷한 UI를 만들고 색상의 요구 사항을 만족시킬 것입니다 다른 프로젝트/포드를 제안 할 수있는 사람은, 또한 작동하는 경우!

답변

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

그리고 세포 내부 날짜 거세한 숫양 각 cellForItemAtIndexPath 체크 내부 FSCalendar.m 선택한 날짜의 범위 내에 및 true 또는 false에 적절한 BOOL 값을 설정 내부

나는 인정한다 그것은 꽤 많은 내 부분에 처리를 필요로하고 심지어는 세포 재사용으로 인해 시작된 일부 충돌을 해결할 수 없었고 재사용 할 수없는 셀을 deque 할 수 없었습니다. 대부분의 경우, 다양한 앱 특정 사례를 처리하고 새로운 속성을 추가하고 셀 색상 애니메이션이 표시되는 데 걸리는 시간을 처리해야했기 때문에 발생했을 가능성이 큽니다.

결국 나는 커스터마이징 기능과 비교했을 때 약간의 애니메이션이 있지만 커스터마이징이 상당히 많이 필요한 JTAppleCalendar를 사용했습니다.

관련 문제