首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选中时FSCalendar date弹出完整副标题

选中时FSCalendar date弹出完整副标题
EN

Stack Overflow用户
提问于 2019-11-12 10:59:07
回答 1查看 246关注 0票数 0

我在Xcode中使用FSCalendar来创建多个事件。到目前为止,我已经有了带点和副标题的特定事件。我正在尝试获得完整的描述,在这种情况下,副标题弹出在某个地方,以便它可以完全阅读。除了FSCalendar的select函数,我不知道从哪里开始。现在我有一个10月3日的活动,作为测试,它会说“你好,今天我们四号房子”。正如你所看到的,它太大了,不能读完所有的方块。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-11-12 14:15:51

FSCalendarDelegatedidSelect date方法,只要实现它即可。

代码语言:javascript
复制
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
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58811362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档