0

私のアプリでは、iOS カレンダー アプリのようなものが欲しいので、MBCalanderKit ライブラリを使用しています。私のアプリでは、カレンダーをサブビューとして追加する必要があるため、CKCalendarViewController を使用したくありません。

そのために、次のコードを使用しています。Swift 2.3でxCode 7を使用しています

import MBCalendarKit

class ViewController: UIViewController {

    var calanderView : CKCalendarView!
    
    var data = [NSDate : AnyObject]()
    override func viewDidLoad() {
        super.viewDidLoad()
        
        loadData()
        
        calanderView = CKCalendarView(frame: self.view.frame)
        calanderView.autoresizingMask = [.FlexibleWidth,.FlexibleHeight]
        
        calanderView.delegate = self
        calanderView.dataSource = self
        
        
        self.view.addSubview(calanderView)
        
    }
    
    func loadData(){
        let date = NSDate(day: 12, month: 12, year: 2016)
        let event1 = CKCalendarEvent(title: "Birthday Event", andDate: date, andInfo: nil, andColor: UIColor.redColor())
        
        let date2 = NSDate(day: 15, month: 12, year: 2016)
        let event2 = CKCalendarEvent(title: "Party Event", andDate: date2, andInfo: nil, andColor: UIColor.redColor())
        
        let date3 = NSDate(day: 17, month: 12, year: 2016)
        let event3 = CKCalendarEvent(title: "Marriage Event", andDate: date3, andInfo: nil, andColor: UIColor.redColor())
        
        let date4 = NSDate(day: 20, month: 12, year: 2016)
        let event4 = CKCalendarEvent(title: "Splecal Event", andDate: date4, andInfo: nil, andColor: UIColor.redColor())
        
        let date5 = NSDate(day: 25, month: 12, year: 2016)
        let event5 = CKCalendarEvent(title: "Special Event", andDate: date5, andInfo: nil, andColor: UIColor.redColor())
        
        
        data[date] = [event1]
        data[date2] = [event2]
        data[date3] = [event3]
        data[date4] = [event4]
        data[date5] = [event5]

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

extension ViewController : CKCalendarViewDataSource{
    func calendarView(calendarView: CKCalendarView!, eventsForDate date: NSDate!) -> [AnyObject]! {
        if let dt = date{
            if data[dt] != nil{
                return [self.data[dt]!]
            }
        }
        return nil
    }
}
extension ViewController : CKCalendarViewDelegate{
    
}

しかし、私の問題は、このコードを実行すると、必要な出力が得られないことです。これが私のスクリーンショットです

ここに画像の説明を入力

私を助けてください。

4

2 に答える 2