2016-11-02 5 views
0

CVCalendarに情報を提供して、特定の日付にドットを表示するかどうかを決定できるようにする方法はありません。また、選択した日付に関連するテキスト情報を表示するにはどうすればよいですか?CVCalendarに日付情報を渡して表示するにはどうしたらいいですか?

CVCalendarには、特定の日付にドットを表示するかどうかを選択する方法と、日付が選択されたときにその情報をカレンダーに実際に渡す方法はわかりません。これを行う簡単な方法はありますか?

+0

あなたの質問は何でThe documentationだけでなく、UITextView(dayTextView)あたりとしてストーリーボードのビューと、デリゲートを設定する必要がありますか? – rmaddy

+0

FYI - 質問とあなた自身の答えを投稿するのは大丈夫です。しかし、あなた自身の答えを提供していなかった場合と同じように、スタックオーバーフローに関する良い、有効な質問のために、質問は通常の標準のすべてに適合しなければなりません。書かれているように、あなたの質問は何のルールにも従いません。それは疑問ではない。他の人にあなたがそれに答えるのを助けてほしいのと同じように書く。 – rmaddy

+0

問題はない、私は質問を更新しました。うまくいけば、それは今より明らかです。 – Derek

答えて

0

私はこれに対処するために思い付くことができる最もエレガントな方法は、カレンダーが配列

var datesDictionary:[String:String] = ["5 November, 2016":"First item","9 November, 2016":"Second item","20 November, 2016":"Third item"] 

の日付の上に辞書内の日付までではなく、例えば反復を見ることができるように辞書を使用していました以下の完全なコード。あなたは、あなたのメインのViewController

import UIKit 
import CVCalendar 

class ViewController: UIViewController,CVCalendarMenuViewDelegate,CVCalendarViewDelegate { 

    @IBOutlet weak var menuView: CVCalendarMenuView! 
    @IBOutlet weak var calendarView: CVCalendarView! 
    @IBOutlet var dayTextView:UITextView! 

    var datesDictionary:[String:String] = ["5 November, 2016":"Service","9 November, 2016":"Change Oil","20 November, 2016":"Check brakes"] 

    func dotMarker(shouldShowOnDayView dayView: DayView) -> Bool{ 
     // Look up date in dictionary 
     if(datesDictionary[dayView.date.commonDescription] != nil){ 
      return true // date is in the array so draw a dot 
     } 
     return false 
    } 
    func dotMarker(colorOnDayView dayView: DayView) -> [UIColor]{ 
     return [UIColor.black] 
    } 

    func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool){ 

     dayTextView.text = "" 
     // Look up date in dictionary 
     if(datesDictionary[dayView.date.commonDescription] != nil){ 
      dayTextView.text = datesDictionary[dayView.date.commonDescription] // day is in the dictionary - wrote the corresponding text to dayTextView 
     } 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    override func viewDidLayoutSubviews() { 
     super.viewDidLayoutSubviews() 
     menuView.commitMenuViewUpdate() 
     calendarView.commitCalendarViewUpdate() 
    } 

    func presentationMode() -> CalendarMode{ 
     return .monthView 
    } 
    func firstWeekday() -> Weekday{ 
     return .monday 
    } 
} 
+0

同じCVcalendarDelegateを使用していますか?しかし、デリゲートメソッド(didselectDayView)は呼び出されません。何が問題なのでしょうか。 – RAGHUNATH

関連する問題