2016-11-03 9 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

ああああ、どうしたらいいの? Thanks @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ビューです。私がインスタンスと言うとき、私は初期化されたオブジェクトを意味します。 –