首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Swift中使用JTCalendar?

如何在Swift中使用JTCalendar?
EN

Stack Overflow用户
提问于 2016-04-28 10:33:49
回答 2查看 4.4K关注 0票数 3

我正在使用JTCalendar创建自定义日历。我在Objective中使用JTcalendar创建了它。现在我想在Swift中使用它。我试过使用Briding-Header,但它仍然显示JTCalendar文件不存在错误。

请建议一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-28 11:39:11

我刚刚在Swift项目中使用桥接配置了JTCalendar。

  1. 下载示例代码
  2. 在项目中拖放JTCalendar文件夹。
  3. 确保桥接路径是

$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h

  1. 设置IBOutlet和代表,其他人必须弄清楚。
票数 3
EN

Stack Overflow用户

发布于 2017-02-28 06:18:10

  • 在podfile中编写pod 'JTCalendar‘、'~> 2.0’并安装。
  • 创建一个具有自定义类JTCalendarMenuView的视图&将折射出口设为calendarMenuView
  • 创建另一个具有自定义类JTHorizontalCalendarView的视图&将引用出口设为calendarContentView
  • 导入JTCalendar并实现JTCalendar委托 导入JTCalendar 类ViewController: UIViewController,JTCalendarDelegate
  • 为CalendaManager创建出口,并声明一些我们稍后使用的变量。 @IBOutlet弱变量calendarMenuView: JTCalendarMenuView!@IBOutlet弱var calendarContentView: JTHorizontalCalendarView!@IBOutlet var calendarManager : JTCalendarManager!var todayDate = NSDate() var minDate = NSDate() var maxDate = NSDate() var dateSelected = NSDate()
  • 在ViewDidLoad初始化CalendarManager时,给出删除并设置menuview、contentview和setDate。 重写func viewDidLoad() { super.viewDidLoad() calendarManager = JTCalendarManager.init() calendarManager.delegate = self self.createMinAndMaxDate() calendarManager.menuView = calendarMenuView calendarManager.contentView = calendarContentView let mydate = Date() calendarManager.setDate(mydate) }
  • 为要在日历中显示的最小和最大日期创建函数。 func createMinAndMaxDate(){ todayDate = NSDate() minDate = calendarManager.dateHelper.add(to: todayDate as Date!,months:-6) as NSDate maxDate = calendarManager.dateHelper.add(to: todayDate as Date!,months: 6)作为NSDate }
  • 在canDisplayPageWithDate方法中集极小和最大日期 公共函数日历(_ JTCalendarManager!,canDisplayPageWith date: Date!) -> Bool {返回calendarManager.dateHelper.date(date,isEqualOrAfter: minDate as Date!,andEqualOrBefore: maxDate as Date!) }
  • 使用prepareDayView方法 公共功能日历(日历: JTCalendarManager!,prepareDayView dayView: UIView!){ //今天让mydayview=dayView as!JTCalendarDayView if(calendarManager.dateHelper.date(NSDate() as Date!,isTheSameDayThan: mydayview.date)) { mydayview.circleView.isHidden = false;mydayview.dotView.backgroundColor = UIColor.blue mydayview.textLabel.textColor = UIColor.white } //选定日期if(String(描述: dateSelected) != "“&calendarManager.dateHelper.date(作为日期!,isTheSameDayThan: mydayview.date)) { mydayview.circleView.isHidden = false;mydayview.circleView.backgroundColor = UIColor.red mydayview.dotView.backgroundColor = UIColor.white mydayview.textLabel.textColor = UIColor.white } //其他月份mydayview.dotView.backgroundColor:mydayview.date){ mydayview.circleView.isHidden = true;mydayview.dotView.backgroundColor = UIColor.red mydayview.textLabel.textColor = UIColor.black } //当前月份的另一天( mydayview.circleView.isHidden = true;mydayview.dotView.backgroundColor = UIColor.red mydayview.textLabel.textColor = UIColor.lightGray })
  • 当用户选择和处理日期时,使用didTouchDayView方法动画,如果选定日期,则移动到下一个月和前一个月。 公共功能日历(_日历: JTCalendarManager!,didTouchDayView dayView: UIView!) {让mydayview=dayView as!if(!calendarManager.dateHelper.date(calendarContentView.date,JTCalendarDayView dateSelected=mydayview.date as NSDate UIView.transition(具有: mydayview,持续时间: 0.3,选项: UIViewAnimationOptions(rawValue: 0),动画:{ mydayview.circleView.transform = CGAffineTransform.identity self.calendarManager.reload() },完成:0)( if(calendarContentView.date.compare(mydayview.date) == ComparisonResult.orderedAscending) { calendarContentView.loadNextPageWithAnimation() }isTheSameMonthThan{ calendarContentView.loadPreviousPageWithAnimation() }}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36912065

复制
相关文章

相似问题

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