iOS开发之使用FSCalendar日历选择

本文介绍了在iOS开发中使用FSCalendar组件实现自定义日历选择的需求,包括顶部按钮切换月份、高亮当前及选中日期、显示当月时间、区分周六周日颜色以及禁选已过去日期等。在实现过程中,作者遇到了currentPage计算错误和时间戳处理的问题,并给出了相应的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FSCalendar日历选择器,
需求说明:
1.需自定义日历顶部,左右小按钮可点击切换月份
2.当天文字颜色为主色调,选中为含有背景色
3.日历样式只显示当月时间
4.周六、周日文字与其他日期颜色不同
5.点击已过去的时间不可创建

先上界面
在这里插入图片描述
我把它放在cell里处理的,这里可视需求而定

cell样式

//
//  XYCalendarTableViewCell.h
//
//  Created by [email protected] on 2020/1/14.
//  Copyright © 2020 xy. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <FSCalendar.h>

NS_ASSUME_NONNULL_BEGIN

@interface XYCalendarTableViewCell : UITableViewCell <FSCalendarDelegateAppearance,FSCalendarDelegate,FSCalendarDataSource>

@property (weak, nonatomic) IBOutlet FSCalendar *calendar;
@property (weak, nonatomic) IBOutlet UIButton *contentBut;//xxxx年xx月
@property (nonatomic, strong) NSCalendar *chineseCalendar;//系统日历
@property (nonatomic, strong) NSDateFormatter *formatter;

// 时间戳传递出去
@property (nonatomic, copy) void(^CalendarClickBlock)(BOOL compareResult,NSInteger timestamp);

@end

NS_ASSUME_NONNULL_END
//
//  XYCalendarTableViewCell.m
//  yishopformerchants
//
//  Created by [email protected] on 2020/1/14.
//  Copyright © 2020 xy. All rights reserved.
//

#import "XYCalendarTableViewCell.h"


@implementation XYCalendarTableViewCell

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
    
    self.selectionStyle = UITableViewCellSelectionStyleNone;
    
    // 设置日历格式为公历
    self.chineseCalendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
    
    // 设置日历翻页
    self.calendar.pagingEnabled =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值