[![当前日历标签的图像] [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
答案 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
}
}
}