选择时,FSCalendar日期弹出完整的字幕

时间:2019-11-12 02:59:07

标签: swift

[![当前日历标签的图像] [1]] [1]

我正在Xcode中使用FSCalendar创建多个事件。就带有点和字幕的特定事件而言,我已经做到了。在这种情况下,我试图获得完整的说明,字幕会在某处弹出,以便可以完全阅读。除了FSCalendar的选择功能外,我不知道从哪里开始。现在,我刚好要参加10月3日的活动,测试内容为“您好,我们今天住了四个人”。如您所见,它太大了,正方形无法阅读所有内容。

import UIKit
import FSCalendar
class CalendarController: UIViewController {

    fileprivate weak var calendar: FSCalendar!    

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        let calendar = FSCalendar(frame: CGRect(x: 8, y: 200, width: 350, height: 420))
        calendar.dataSource = self
        calendar.delegate = self
        view.addSubview(calendar)
        self.calendar = calendar
    }

    var datesWithEvent = ["2019-10-03", "2015-10-06", "2015-10-12", "2015-10-25"]
    var datesWithMultipleEvents = ["2015-10-08", "2015-10-16", "2015-10-20", "2015-10-28"]

    fileprivate lazy var dateFormatter2: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd"
        return formatter
    }()

    func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
        let dateString = self.dateFormatter2.string(from: date)
        if self.datesWithEvent.contains(dateString) {
            return 1
        }
        if self.datesWithMultipleEvents.contains(dateString) {
            return 3
        }
        return 0
    }

}
extension CalendarController: FSCalendarDataSource, FSCalendarDelegate{

        func calendar(_ calendar: FSCalendar, subtitleFor date: Date) -> String? {
            let dateString = self.dateFormatter2.string(from: date)
            if self.datesWithEvent.contains(dateString) {

            return "Hello today is house four"
            }

        return nil
        }
}


  [1]: https://i.stack.imgur.com/y2zvg.png

1 个答案:

答案 0 :(得分:0)

FSCalendarDelegate仅具有didSelect date方法。

func calendar(_ calendar: FSCalendar?, didSelect date: Date?, at monthPosition: FSCalendarMonthPosition) {
    if let date = date {
        let dateString = self.dateFormatter2.string(from: date)
        if self.datesWithEvent.contains(dateString) {
            print("House hours..") // you can show alert or show view
        }
    }
}
相关问题