我想在日期下的日历上添加价格值。与下图相同。
我尝试了许多第三方库,例如FSCalendar,JTCalendar,awesome-ios-ui,但尚未成功。
是否还有其他库或解决方案。?我想在日历上的日期下添加价格标签。
任何帮助都将不胜感激。
答案 0 :(得分:1)
我认为您应该使用自定义UICollectionView
,其中节的数量为2,并确保第1节中的单元格数为7,并且节中的单元格数为42。
制作一个有数周日名称的静态数组
arrOfWeekDayName = [NSArray arrayWithObjects:@"SUN",@"MON", @"TUE", @"WED", @"THU", @"FRI", @"SAT", nil];
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView*)collectionView
{
return 2;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
if (section == 0)
{
return arrOfWeekDayName.count;
}
else{
return 42;
}
}
现在将自定义UICollectionViewCell
用于显示周日名称
第二个是奖品和图片的展示日期,无论你想在你的细胞中展示什么。
例如,我首先采用两个自定义UICollectionViewCell
weekCell
,其次是dateCell
weekCell
只有一个标签,只显示日期名称
dateCell
有三个属性lblDate
,lblPrize
,imgCell
,您可以根据自己的要求添加。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.section == 0)
{
weekCell *cell = (weekCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@“weekCell” forIndexPath:indexPath];
cell.lblDay.text =[arrOfWeekDayName objectAtIndex:indexPath.row];
if (indexPath.row == 0)
{
cell.backgroundColor = [UIColor redColor];
}
else
{
cell.backgroundColor = [UIColor colorWithRed:63.0/255.0f green:65.0/255.0f blue:70.0/255.0f alpha:1.0];
}
return cell;
}
else
{
dateCell *cell = (dateCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@“dateCell" forIndexPath:indexPath];
cell.lblDate.font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:12];
cell.lblPrize.text= [NSString strngWithFormat:@“$5”];
cell.imgCell.image = [UIImage imageNamed:@“myImage”];
return cell;
}
}
当您填写一个月的值时,您需要此42个单元格的所有值 根据几个月来管理这个细胞。 mange细胞背景颜色白天
FirstDateOfMonth = [CommonOps firstDayOfMonth:currentdate ];
LastDateOfMonth = [CommonOps lastDayOfMonth:currentdate];
if ([self date:date isEqualOrAfter:LastDateOfMonth])
{
cell.lblDateTitle.textColor = [UIColor grayColor];
cell.backgroundColor = [UIColor colorWithRed:209/256. green:209/256. blue:209/256. alpha:.5];
cell.userInteractionEnabled = true;
}
else if ([self date: date isEqualOrBefore: FirstDateOfMonth])
{
cell.lblDateTitle.textColor = [UIColor grayColor];
cell.backgroundColor = [UIColor colorWithRed:209/256. green:209/256. blue:209/256. alpha:.5];
cell.userInteractionEnabled = true;
}
else
{
cell.backgroundColor = [UIColor colorWithRed:243/256. green:221/256. blue:159/256. alpha:.5];
cell.userInteractionEnabled = true;
if ([self date:currentdate isTheSameDayThan:date])
{
ValueToDisplayOnHeaderFirstTime = indexPath.row;
}
cell.lblDateTitle.textColor = [UIColor blackColor];
}
if (indexPath.row == 0 || indexPath.row == 7 || indexPath.row == 14 || indexPath.row == 21 || indexPath.row == 28|| indexPath.row == 35 )
{
cell.backgroundColor = [UIColor colorWithRed:250/256. green:195/256. blue:181/256. alpha:.5];
cell.lblDateTitle.textColor = [UIColor redColor];
}
如果您对此有任何疑惑,请在评论部分告诉我
答案 1 :(得分:1)
JTAppleCalendar可以为你构建这个(不要与JTCalendar混淆)。
似乎有详细记录。 易于安装。 如果该库无法为您构建日历,那么我会感到震惊。我在大约7分钟内完成了我的日历(完全设计)。
找到的文档Here
找到Cocoapod链接Here
Github链接找到Here