2017-10-24 30 views
0

저는 이것을 위해 JTAppleCalendar를 사용하기 때문에 사용자 정의 캘린더를 만들고 싶습니다. 하나의 콜렉션 뷰를 가져 왔고 콜렉션 뷰 셀에 날짜를 표시하고 싶습니다. 이것에 대한 해결책이 무엇인지 표시하지 않습니까?JTAppleCalendar를 사용하여 콜렉션 뷰 셀에 날짜를 표시하기 위해 사용자 정의 캘린더를 만들고 싶습니다.

CalendarViewController.swift

import UIKit 
import JTAppleCalendar 

class CalendarViewController: UIViewController { 

    @IBOutlet weak var calendarView: JTAppleCalendarView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.calendarView.calendarDataSource = self 
     self.calendarView.calendarDelegate = self 
     // Do any additional setup after loading the view. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 

extension CalendarViewController:JTAppleCalendarViewDelegate,JTAppleCalendarViewDataSource{ 

    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters { 

     let formatter = DateFormatter() 

     formatter.dateFormat = "yyyy MM dd" 
     formatter.timeZone = Calendar.current.timeZone 
     formatter.locale = Calendar.current.locale 

     let startdate = formatter.date(from: "2017 01 01")! 
     let enddate = formatter.date(from: "2017 12 31")! 
     let parameters = ConfigurationParameters(startDate: startdate, endDate: enddate) 
     // print(formatter.string(from: startdate)) 
     return parameters 
    } 

    func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) { 

    } 

    func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell { 

     let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "CalendarCell", for: indexPath) as! CalendarCell 

     cell.dateLabel.text = cellState.text 

     return cell 
    } 
} 



CalendarCell.swift 

import UIKit 
import JTAppleCalendar 
class CalendarCell: JTAppleCell { 


    @IBOutlet weak var dateLabel: UILabel! 
} 
+0

날짜를 표시하려면 xib를 만들어야합니다. – Sabarinathan

+0

@Sabarinathan은 xib도 사용하려고했는데 ... 같은 문제가 발생했습니다. –

+0

코드를 시도해보십시오. – Sabarinathan

답변

2
calendarView.registerCellViewXib(file: "CalendarDateCell") 
calendarView.delegate = self 
calendarView.dataSource = self 
calendarView.direction = .horizontal 
calendarView.selectDates([selectedDate]) 
calendarView.reloadData() 

) (있는 viewDidLoad에 추가

0

enter image description here

당신의 XIB은 위의 이미지처럼 아래 IMG, 래퍼 화살표 무시 같은 콘센트를 취할 것 보기

import UIKit 
import JTAppleCalendar 

class CalendarDateCell: JTAppleDayCellView { 

    @IBOutlet weak var dateLbl: UILabel! 
    @IBOutlet weak var wrapperView: UIView! 
    @IBOutlet weak var arrowImg: UIImageView! 
}