Swift - 日历签到

说明:

最近在项目中,需要添加一个日历签到的功能,在网上找了很久都没有找到合适的,又加上项目为Swift编写,所以硬生生的找了好几个小时,还是没有找到,然后不得已自己写了一个简易的Demo当然也引用了一些大牛的代码,望能帮助有与我相同疑惑的码友,我这里就不作简单的介绍了,上图为例:(这里我是传入的相同数据,以坐标为准,所以您看到的每一个月都是相同的地方)

Calendar.gif

代码

这里的话我就不给大家讲详细的实现步骤了,代码之后会上传,并且注释都会详细记载。

  • 1、这里的话把他们分为三大模块
    private let navigationBar = UIView()       //主要标题栏
    private let weekHeaderView = UIView()      //星期标题栏
    private let contentWrapperView = UIView()  //日历内容栏
  • 2、布局三大模块 然后给它们附上相对应的值
    /**
     布局三大控件
     */
    private func commonInit(){
        //添加导航栏
        navigationBar.frame = CGRectMake(0, 0, self.frame.width, 40)
        self.addSubview(navigationBar)
        CreateNavigationBar()

        //添加星期标题栏
        weekHeaderView.frame = CGRectMake(10, CGRectGetMaxY(navigationBar.frame), self.frame.width - 20, 20)
        self.addSubview(weekHeaderView)
        CreateWeekHeaderView()

        //添加日历内容栏
        contentWrapperView.frame = CGRectMake(10,CGRectGetMaxY(weekHeaderView.frame),self.frame.width - 20 ,self.frame.height - CGRectGetMaxY(weekHeaderView.frame))
        self.addSubview(contentWrapperView)
        CreatecontentWrapperView(Nowdate)
    }

  • 3、您看到这里来的时候,日历的面板就已经显示,然后呢,我在里面设置了代理方法,专门针对上个月和下个月按钮所生成的,我给您传出了年和月,那么您就可以很方便的在保存的文件中或者数据库中找到该年该月的签到数据了
//MARK: - 定义一份协议
protocol CalendarDelegate{
    /**
     协议
     */
    func CalendarNavClickView(calendar:CalendarView,year:Int,month:Int)
}
  • 4、然后在这里的话您们可以去设置基本的颜色,在Demo中您可以看一下

//        calendar.weekdayHeaderTextColor = UIColor.redColor()            //周一到周五的颜色
//        calendar.weekdayHeaderWeekendTextColor = UIColor.blueColor()    //周六和周日的颜色
//        calendar.componentTextColor = UIColor.redColor()                //月份字体的颜色
//        calendar.todayIndicatorColor = UIColor.yellowColor()            //今日的背景色
//        calendar.highlightedComponentTextColor                          //点击之后前景颜色
//        calendar.selectedIndicatorColor = UIColor.orangeColor()         //点击的背景色
//        calendar.SigninList = signinList            //默认签到的坐标

其实用起来就是这样的简单Demo地址

                 本章到此结束
            欢迎各位码友随意转载并指正
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,862评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,188评论 4 61
  • 从大西北回到湿热的南方已经是半个月了,终于在今天敲下那些属于几千公里之外的回忆。可能是为了记忆,可能是为了发泄心中...
    Xiawww阅读 399评论 2 0
  • 我害怕 会像绝大多数人那样 会适应那些我原本不能忍受的 浪费了本应狂野的一生 我拼命 努力让自己保持警醒 以文字为...
    宋景春阅读 265评论 0 0
  • 柚柚,看着你在妈妈身边安静地睡着,妈妈觉得很幸福。 最近四川地震,妈妈看着公众号分享的文字:巨大的灾难来临时,那些...
    君之阳阅读 1,842评论 11 13