嗨,我必须移动导航栏上的文本。我对滚动文本一无所知。有人对此有任何想法,请告诉我。
谢谢
我认为您想像在 iphone 音乐播放器应用程序中一样移动标签文本。如果是,请执行以下操作。
1`. Download Marquee Label files from this link 'https://github.com/cbpowell/MarqueeLabel'.`
2. - (void)addMovingLabelText {
MarqueeLabel *_lectureName = [[MarqueeLabel alloc] initWithFrame:CGRectMake(0,20,200, 20) duration:5.0 andFadeLength:10.0f];
[_lectureName setTextAlignment:NSTextAlignmentCenter];
[_lectureName setBackgroundColor:[UIColor clearColor]];
[_lectureName setText:@"I am a moving Label in iphone Application"];
_lectureName.adjustsFontSizeToFitWidth=NO;
[_lectureName setAnimationCurve:UIViewAnimationOptionCurveEaseIn];
[self.navigationItem setTitleView:_lectureName];
}
3. call addMovingLabelText from viewDidLoad
将此文件添加到您的项目中并将其导入您的类中,然后在您的视图中添加以下命令并加载。我希望您正在为您的应用程序使用基于导航的模板。
http://blog.stormyprods.com/2009/10/simple-scrolling-uilabel-for-iphone.html
然后在 viewdidload
AutoScrollLabel *autoScrollLabel=[[AutoScrollLabel alloc] initWithFrame:CGRectMake(10, 15, 320, 16)];
autoScrollLabel.text = @"Hi Mom! How are you? I really ought to write more often.";
autoScrollLabel.textColor = [UIColor whiteColor];
//self.title = @"Resources";
//self.title = @"%@"autoScrollLabel;
[self.navigationController.navigationBar addSubview:autoScrollLabel];
好吧,导航栏可以用你自己的 titleView 自定义,所以你需要做的就是创建一个里面有滚动文本的视图。因为 SDK 中没有实现这个效果的组件,所以你必须在开源库中寻找或创建自己的。我从来没有用过,但是看看这个UIScrollingLabel
Swift 5 方法MarqueeLabel
:
let title = MarqueeLabel(frame: CGRect.zero, duration: 20, fadeLength: 10)
title.textAlignment = .center
title.textColor = .white
title.text = header
navigationController?.navigationBar.topItem?.titleView = title