首先,让我为提出一个毫无疑问的问题而道歉,因为99%的人会看到这个问题。我已经搜索并遇到了不同的想法,但似乎无法让我的头脑实现它们。
基本上我想要做的就是有一个UILabel
,例如“这是一个测试”而不是2小时,在星期五下午4点到6点之间会说“这不是一个测试“然后从下午6:01它将恢复回来说”这是一个测试“,并将在每个星期五重复。
我正在使用MarqueeLabel,它是UILabel
的子类,这是通过Interface Builder和viewDidLoad中的以下代码完成的。
self.scrollingLabel.marqueeType = MLContinuous;
self.scrollingLabel.scrollDuration = 40.0f;
self.scrollingLabel.fadeLength = 10.0f;
self.scrollingLabel.text = @"This is a test";
self.scrollingLabel.userInteractionEnabled = YES;
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pauseTap:)];
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.numberOfTouchesRequired = 1;
[self.scrollingLabel addGestureRecognizer:tapRecognizer];
self.scrollingLabel.layer.shadowColor = [UIColor blackColor].CGColor;
self.scrollingLabel.layer.shadowOffset = CGSizeMake(1.0f,1.0f);
self.scrollingLabel.layer.masksToBounds = NO;
self.scrollingLabel.layer.shadowRadius = 1.5f;
self.scrollingLabel.layer.shadowOpacity = 0.6;
再次道歉,如果这没有意义,但我是 Xcode 的新手,这是我关于堆栈溢出的第一个问题。
任何指向正确方向的东西都会非常感激。
答案 0 :(得分:0)
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(targetMethod)
userInfo:nil
repeats:NO];
put this line to `viewDidLoad` method
And
-(void)targetMethod{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE HH mm"];
NSDate *dt = [NSDate date];
NSString *dayAString = [formatter stringFromDate:dt];
NSArray *array = [dayAString componentsSeparatedByString: @" "];
if([[array objectAtIndex:0] isEqualToString:@"Friday"] && [[array objectAtIndex:1] intValue]>=4 && [[array objectAtIndex:1] intValue]<=6 && [[array objectAtIndex:2] intValue]>=0 && [[array objectAtIndex:2] intValue]<=59)
{
self.scrollingLabel.text=@"this is not a test";
NSLog(@"On Air");
}
else{
self.scrollingLabel.text=@"This is a test";
NSLog(@"Off Air");
}
}