WPF中如何做滚动字幕?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中如何做滚动字幕?相关的知识,希望对你有一定的参考价值。
我本来想像C# Form中那样通过设置Timer控件,来后在Time_Tick函数中改变Label.Location来实现,但是我在WPF中却发现Label根本没有Location(或者Left)这个属性,谁知道字幕做啊?
方法一:用winformhost来承载你做好的winform程序。方法二:用textblock,可以办到的。很简单。label适用与UI初始化后文字不变的情况,label每次文字的改变系统开销要大于textblock 参考技术A 用storyboard做动画吧
如何制作字幕 UILabel / UITextField / NSTextField
【中文标题】如何制作字幕 UILabel / UITextField / NSTextField【英文标题】:How to make marquee UILabel / UITextField / NSTextField 【发布时间】:2013-05-31 14:57:09 【问题描述】:我需要在 Xcode 中制作选框 UILabel
。选取框将从右向左滚动。
我试过CCScrollingLabel
也试过JHTickerView
和其他人。但是我找不到带有字幕的简单代码,没有任何视图/数组/一些愚蠢的库和其他
如何用UILabel
做字幕? (UITextField
和 NSTextField
也可以)。
【问题讨论】:
看看这个,可能有帮助。 ***.com/questions/3232801/… 【参考方案1】:你需要NSTimer
,你需要调用一个方法:
*这是针对 OSX 的,你可以很容易地将它转换成 iOS,NSTextField
和 UILabel
有不同的方法。
-(void)awakeFromNib
self.myTimer=[NSTimer new];
self.fullString=@"This is a long string to be shown.";
[self.label setAlignment:NSRightTextAlignment];
-(void)scrollText:(id)parameter
static NSInteger len;
[self.label setStringValue:[self.fullString substringWithRange:NSMakeRange(0, len++)]];
if (self.label.stringValue.length==self.fullString.length)
[self.myTimer invalidate];
- (IBAction)buttonAction:(id)sender
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:0.2f
target: self
selector:@selector(scrollText:)
userInfo: nil
repeats:YES];
【讨论】:
Anoop:如果 NSTextField 的长度小于 NSString 的长度,则不显示完整的字符串。如何显示完整的字符串。 @ArunPratap:这种情况下,你需要截断尾部,然后添加一些逻辑来追加文本...以上是关于WPF中如何做滚动字幕?的主要内容,如果未能解决你的问题,请参考以下文章