- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
How to make marquee UILabel / UITextField / NSTextField
(1 个回答)
8年前关闭。
我正在编写一个使用动画文本的 cocoa 控件的应用程序,
https://www.cocoacontrols.com/controls/marqueelabel
它使用 CoreText
和 QuartzCore
.
这是一个非常棒的控制,但我遇到了麻烦。
当实例化我使用控件创建的动画标签时立即开始滚动,但是我发现当我使用 NSTimer
创建动画标签时它不是动画。
我在用
- (void)viewDidLoad
{
[super viewDidLoad];
....
[self.view addSubview:continuousLabel1];
[NSTimer scheduledTimerWithTimeInterval:5
target:self
selector:@selector(updatePrice)
userInfo:nil repeats:YES];
}
- (void)updatePrice
{
MarqueeLabel *continuousLabel2 = [[MarqueeLabel alloc] initWithFrame:CGRectMake(10, 230, self.view.frame.size.width-20, 20) rate:100.0f andFadeLength:10.0f];
continuousLabel2.tag = 101;
continuousLabel2.marqueeType = MLContinuous;
continuousLabel2.animationCurve = UIViewAnimationOptionCurveLinear;
continuousLabel2.continuousMarqueeExtraBuffer = 50.0f;
continuousLabel2.numberOfLines = 1;
continuousLabel2.opaque = NO;
continuousLabel2.enabled = YES;
continuousLabel2.shadowOffset = CGSizeMake(0.0, -1.0);
continuousLabel2.textAlignment = NSTextAlignmentLeft;
continuousLabel2.textColor = [UIColor colorWithRed:0.234 green:0.234 blue:0.234 alpha:1.000];
continuousLabel2.backgroundColor = [UIColor clearColor];
continuousLabel2.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.000];
continuousLabel2.text = @"This is another long label that doesn't scroll continuously with a custom space between labels! You can also tap it to pause and unpause it!";
[self.view addSubview:continuousLabel2];
if( [NSThread isMainThread])
{
NSLog(@"In Main Thread");
}
if ([NSRunLoop currentRunLoop] == [NSRunLoop mainRunLoop]) {
NSLog(@"In Main Loop");
}
}
最佳答案
问题是你调用 updatePrice
每 5 秒一次,在此方法中 您正在创建一个新标签,即堆叠 向上,并注意它每 5 秒变暗一次。
如果您检查标签正在滚动。
解决方案:
如果您想要标签的多个实例,请更改其坐标。
如果您想要单个实例,则比较检查并仅创建一次。
关于iphone - NSTimer scheduleTimerWithTimeInterval 和 CoreAnimation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870968/
在 swift 中,我有一个实现了双击和单击的 uitableviewCell。双击有效。但是,我在单击时遇到了一些麻烦。由于双击的存在,我用定时器实现了单击。以下代码成功打印出“Single Tap
这个问题在这里已经有了答案: How to make marquee UILabel / UITextField / NSTextField (1 个回答) 8年前关闭。 我正在编写一个使用动画文本的
我有一个方法,我想在一段时间延迟后执行(不重复)。 我可以使用 performSelector:afterDelay 或者我可以安排一个 NSTimer 并将选择器指定为它的参数。 如果最终结果相同(
我是一名优秀的程序员,十分优秀!