2016-11-03 2 views
1

나는 캘린더를 스크롤 할 때 다음 헤더를 사용하여 각 헤더에 대해 월을 출력하려고합니다. 나가는 유일한 달로 나가 12 월 인 나가 나의 반복을하고있는 방법에 대한 문제가이어야한다. 어떤 아이디어? 감사합니다JTAppleCalendar Swift For Loop

인쇄 ("(이름)")로, 나는 모든 달을 콘솔에 인쇄하고 있습니다. 그러나, 나는 시각적으로 정확하게 인쇄 할 수 없다.

func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) { 

     //let months: [String] = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 
     let months = Calendar.current.monthSymbols 
     let headerCell = (header as? MonthsHeader) 
     for names in months { 
      print("\(names)") 
     headerCell?.monthsHeader.text = names 

     } 
    } 
+0

, 마지막 할당 만 지속됩니다. – Alexander

+0

아하치아, 어떻게 해결할 수 있니? 감사합니다 @ Alexander Momchliov –

+1

github에 첨부 된 예제 프로젝트를 살펴 보셨습니까? –

답변

3

다음은 어떻게 사용하나요?

func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) { 
    let startDate = range.start 
    let month = myCalendar.dateComponents([.month], from: startDate).month! 
    let monthName = DateFormatter().monthSymbols[(month-1) % 12] 
    let year = testCalendar.component(.year, from: startDate) 
    let headerCell = header as? MyHeaderView 
    headerCell?.title.text = monthName + " " + String(year) 
} 

myCalendar -> 이것은 Calendar() 인스턴스

MyHeaderView->이 헤더 클래스입니다

당신은 모든 반복과 같은`headerCell .monthsHeader.text` 변수를 덮어하고
+0

캘린더 인스턴스 란 무엇입니까? –

+1

'myCalendar'는 JTAppleCalendar 뷰입니다. 인스턴스를 말하면 초기화 된 객체를 의미합니다. –