【问题标题】:NSCalendar Find Saturday and Sunday of Current MonthNSCalendar 查找当月的周六和周日
【发布时间】:2012-06-01 06:51:56
【问题描述】:

我正在做一个项目,我想在我的应用程序中集成 NSCalendar 功能。因此我用谷歌搜索并找到了this solution。它给了我一年中的所有月份,我也可以选择特定的日期。没关系。但是我想以某种方式禁用每个月的所有星期六和星期日,但是当我点击上个月或下个月时,它会更改选择。我已经经历了几乎所有的stackoverflow问题,但我没有找到合适的方法来做这件事。 我请求大家对此是否有任何灵活的解决方案,我可以禁用周末和任何特定日期。流程应该是这样的:

  1. 运行应用程序显示当前月份,禁用所有周六和周日。
  2. 点击下个月或上个月时,应按该月禁用相应的周六和周日。
  3. 我想禁用的任何特定日期的功能。

【问题讨论】:

  • 能否请您添加一些代码,以便我们能够更好地理解手头的问题
  • 我想要完整的新解决方案,因为我编写的任何代码都不能完美运行。
  • 分享代码会更好,因为这会给我们提示您想要实现的目标

标签: iphone ios nsdate nscalendar nsdatecomponents


【解决方案1】:

您好,我更新了文件并创建了一系列禁用天数,请在此处查看代码表单

RootViewController.m 文件 http://shorttext.com/l7iKEdf

RootViewController.h 文件 http://shorttext.com/lFaath

只需将这些文件替换为您提供的链接中的原始文件 你会发现我添加了一个 disabledDays NSMutableArray 向它添加任何整数 像以下 0 = 周六 6 = 周五 那一天将被禁用

【讨论】:

  • 如果是满意的答案,请不要忘记接受:)
  • 干得好。我在您的代码中更改了一行 [disabledDays addObject:[NSNumber numberWithInt:1]];而不是 put 2 我使用了 1 因为使用 2 它给了我星期一和星期六,而使用 1 给了我星期六和星期日。但是现在提出了一个新的错误,即 2012 年 9 月和 12 月它禁用星期日和星期一而不是星期六和星期日。只是想告诉你这是怎么回事。
  • 是的,我看到了这个错误,好的,我通过执行以下操作暂时修复了它,找到 int weekOfDayAcc = weekDay; 行并在其后添加以下内容 if(weekOfDayAcc == 7) weekOfDayAcc = 0;这解决了以下问题,请不要忘记测试它,因为我没有时间优化或全面测试解决方案:)
  • 我们如何禁用明年所有日期意味着我只想显示当前年份的活动日期。
猜你喜欢
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 2019-09-07
相关资源
最近更新 更多