每天午夜更改随机图像
Posted
技术标签:
【中文标题】每天午夜更改随机图像【英文标题】:Change random image every midnight 【发布时间】:2016-09-08 18:29:55 【问题描述】:我的应用上有一些图片,我希望图片在每天午夜随机变化。
我尝试在下面的代码中执行此操作,但未成功,但不知道如何使其工作。
- (void)viewDidLoad
[super viewDidLoad];
NSDateFormatter *formater = [[NSDateFormatter alloc]init];
[formater setDateFormat:@"EEE dd-MM-yyyy' "];
timeLabel.text = [formater stringFromDate:[NSDate date]];
timerIsCount = NO;
[self updateTimer];
-(void)datePic
timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(randomCard) userInfo:nil repeats:YES];
- (void)updateTimer
NSCalendar *calender = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
unsigned int unitFlag = NSDayCalendarUnit;
NSDateComponents *components = [calender components:unitFlag fromDate:0];
int day = [components day];
if (day)
//[self randomCard];
【问题讨论】:
Stack Overflow 不是一个代码编写网站。您需要尝试编写此内容,然后在遇到特定问题时返回。遵循一些教程也会有所帮助。如果您不清楚如何在 Stack Overflow 上提问,请参阅常见问题解答:***.com/help/how-to-ask “我尝试这样做”。然后展示你的尝试,这样你就可以纠正你出错的地方。 【参考方案1】:在这里,您必须拍摄一组图像。还有一个 int 值。
您希望每天晚上您的图像都会发生变化,因此您必须设置计时器 这里 Slidingimageview 是 imageview
NSInteger 索引=0;
arrslidingimages=[[NSArray alloc]initWithObjects:@"01.png",@"02.png",@"03.png",@"04.png",@"05.png"@"06. png",@"07.png",nil];
-(void)viewDidAppear:(BOOL)动画
[超级 viewDidAppear:animated]; // 滑动图片的动画
slideTransition = [CATransition 动画];
CATransition * slideTransition; //实例变量
slideTransition.duration = 1.0;
slideTransition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
slideTransition.type = kCATransitionFade;
slideTransition.delegate = self;
[NSTimer scheduleTimerWithTimeInterval:60*60*24 target:self 选择器:@selector(changeImage:) userInfo:nil repeats:YES];
-(void)changeImage:(NSTimer *)timer
//改变sling图片的定时器,设置页面控制器的当前页面
slideTransition.subtype =kCATransitionFromRight; // 或 kCATransitionFromRight
[_Slidingimageview.layer addAnimation:slideTransition forKey:nil];
索引++;
if(index==[arrslidingimages count]) 索引=0;
_Slidingimageview.image = [UIImage imageNamed:[arrslidingimages objectAtIndex:index]];
您必须通过以秒为单位查找时间来设置午夜计时器。如果您想要更多随机图像,请将这些图像添加到数组中
注意:现在在代码中我设置了默认值,例如当您运行应用程序时,此计时器开始(例如。如果您在今天上午 12:00 运行应用程序,那么图像将在明天上午 12:00 更改)
希望这件事有效
【讨论】:
我会试试谢谢以上是关于每天午夜更改随机图像的主要内容,如果未能解决你的问题,请参考以下文章