0

我想创建一个仅在此时处于活动状态的按钮,在剩余的时间里有另一个
我尝试使用 NSDate 的图像,但我不知道使用哪种方法来设置这个时间是否可行?
代码是什么?

4

4 回答 4

1

不知道您的环境是什么很难说,但我希望您需要某种计时器来指示何时激活和停用按钮。

理想情况下,会在下午 3 点(顺便说一句,哪个 TZ?)然后在晚上 9 点向您的代码发送事件,但可能是每分钟一次的常规触发器,然后您可以检查实际的 ToD。

HtH,露丝

于 2013-02-05T21:52:48.470 回答
0

有可能的。

有一些方法可以解决这个问题首先,您可以使用 UILocalNotification 来设置触发日期。

其次,在另一个线程中,永久检查时间。当时间在下午 3 点到 9 点之间时,使用 NSNotificationCenter 调用 postNotification。

第三,自定义您的按钮,然后在自定义按钮中添加一个计时器。

于 2013-02-05T21:53:29.823 回答
0

您可以执行以下操作,1)当您启动应用程序时,请检查现在几点。
2)如果它在下午 3 点到晚上 9 点之间,使按钮处于活动状态,同时在适当的结束时间启动 NSTIMER
3)如果没有,将按钮图像设置为您的图像,使按钮处于非活动状态,启动 NSTIMER 以在下午 3 点触发
4 ) 当 nstimer 被触发时,更改图像并使其处于活动状态。

于 2013-02-05T21:55:57.053 回答
0

当您要检查日期时,您需要选择一些事件。假设您设置了NSTimer1 分钟的间隔。然后定期:

  1. 获取当前日期和时间表示:

    NSDate *now = [NSDate date];
    
  2. 使用以下方式获取小时NSCalendar

    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit
                                                                   fromDate:now];
    NSUInteger hour = components.hour;
    
  3. 比较和应用可用性:

    BOOL available = (hour >= 3 && hour < 9);
    button.enabled = available;
    

我想你需要做一些调整,因为 12/24 小时制。

于 2013-02-09T16:02:58.070 回答