我想创建一个仅在此时处于活动状态的按钮,在剩余的时间里有另一个
我尝试使用 NSDate 的图像,但我不知道使用哪种方法来设置这个时间是否可行?
代码是什么?
4 回答
不知道您的环境是什么很难说,但我希望您需要某种计时器来指示何时激活和停用按钮。
理想情况下,会在下午 3 点(顺便说一句,哪个 TZ?)然后在晚上 9 点向您的代码发送事件,但可能是每分钟一次的常规触发器,然后您可以检查实际的 ToD。
HtH,露丝
有可能的。
有一些方法可以解决这个问题首先,您可以使用 UILocalNotification 来设置触发日期。
其次,在另一个线程中,永久检查时间。当时间在下午 3 点到 9 点之间时,使用 NSNotificationCenter 调用 postNotification。
第三,自定义您的按钮,然后在自定义按钮中添加一个计时器。
您可以执行以下操作,1)当您启动应用程序时,请检查现在几点。
2)如果它在下午 3 点到晚上 9 点之间,使按钮处于活动状态,同时在适当的结束时间启动 NSTIMER
3)如果没有,将按钮图像设置为您的图像,使按钮处于非活动状态,启动 NSTIMER 以在下午 3 点触发
4 ) 当 nstimer 被触发时,更改图像并使其处于活动状态。
当您要检查日期时,您需要选择一些事件。假设您设置了NSTimer
1 分钟的间隔。然后定期:
获取当前日期和时间表示:
NSDate *now = [NSDate date];
使用以下方式获取小时
NSCalendar
:NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit fromDate:now]; NSUInteger hour = components.hour;
比较和应用可用性:
BOOL available = (hour >= 3 && hour < 9); button.enabled = available;
我想你需要做一些调整,因为 12/24 小时制。