Hallo zusammen, ich arbeite mit FSCalandar in meinem Projekt. Alles funktioniert gut, aber ich bin nicht in der Lage, Kalenderdatum Farbe für das Datum zu ändern, das vom Benutzer eingegeben wird. Grundsätzlich möchte ich die Funktionalität von Gegenwart und Abwesenheit in meinem Projekt mit FSCalander hinzufügen. Ich habe bereits fscalanderapepearance delegate method.Please Blick auf meinen Code.Wie FSCalandar Datumsfarbe für das bestimmte Datum ändern.?
Dies ist .h-Datei
@interface CalTableCellTableViewCell : UITableViewCell <FSCalendarDelegate, FSCalendarDataSource, FSCalendarDelegateAppearance>
{
NSDate *myDate;
NSDate *EndDate;
NSMutableArray *array;
}
@property (weak , nonatomic) FSCalendar *calendar;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *calendarHeightConstraint;
@property (weak, nonatomic) IBOutlet UIView *calview;
@property (strong, nonatomic) NSDate *selectedDate;
@property (strong, nonatomic) NSDictionary *fillSelectionColors;
@property (strong, nonatomic) NSDictionary *fillDefaultColors;
@property (strong, nonatomic) NSDictionary *borderDefaultColors;
@property (strong, nonatomic) NSDictionary *borderSelectionColors0;
@property (strong, nonatomic) NSArray *datesWithEvent;
@property (strong, nonatomic) NSArray *datesWithMultipleEvents;
@end
Diese .m-Datei ist.
#import "CalTableCellTableViewCell.h"
@implementation CalTableCellTableViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"];
NSLog(@"mydate %@", myDate);
EndDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"EndDateKey"];
FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 0, 250, 150)];
calendar.dataSource = self;
calendar.delegate = self;
[self.contentView addSubview:calendar];
self.calendar = calendar;
_calendar.scrollDirection = FSCalendarScrollDirectionVertical;
calendar.appearance.caseOptions = FSCalendarCaseOptionsHeaderUsesUpperCase|FSCalendarCaseOptionsWeekdayUsesSingleUpperCase;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"d.M.yyyy";
NSString *string = [formatter stringFromDate:[NSDate date]];
NSLog(@"current date %@", string);
_calendar.appearance.selectionColor = [UIColor blueColor];
_calendar.appearance.todayColor = [UIColor greenColor];
_calendar.appearance.cellShape = FSCalendarCellStyleRectangle;
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
NSArray *testarray = [userDef objectForKey:@"name"];
array = [[NSMutableArray alloc]initWithArray:testarray];
NSLog(@"arraydata %@", array);
self.datesWithEvent = @[@"2016-09-03",
@"2015-10-06",
@"2015-10-12",
@"2015-10-25"];
self.datesWithMultipleEvents = @[@"2015-10-08",
@"2015-10-16",
@"2015-10-20",
@"2015-10-28"];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated
{
_calendarHeightConstraint.constant = CGRectGetHeight(bounds);
[self.contentView layoutIfNeeded];
}
- (NSDate *)minimumDateForCalendar:(FSCalendar *)calendar
{
return myDate;
}
- (NSDate *)maximumDateForCalendar:(FSCalendar *)calendar
{
return EndDate;
}
#pragma mark - <FSCalendarDelegateAppearance>
- (UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance titleDefaultColorForDate:(NSDate *)date;
{
NSString *datestring = [calendar stringFromDate:myDate format:@"yyyy-MM-dd"];
if ([_datesWithEvent containsObject:datestring]) {
NSLog(@"test");
return calendar.appearance.borderDefaultColor = [UIColor redColor];
}
else if ([_datesWithMultipleEvents containsObject:datestring])
{
NSLog(@"testing");
}
return nil;
}
Bitte helfen Sie, wenn jemand mit diesem Problem gehen. Vielen Dank. Delegiertenmethode nicht aufgerufen.
Geben Sie mir einige Vorschläge, wenn jemand dieses Problem gegenübersteht.? –