如何在导航栏上移动文本

时间:2012-06-06 09:09:02

标签: iphone ipad uinavigationbar

您好我必须在导航栏上移动文本..我对滚动文本一无所知。有人对此有所了解请告诉我。

谢谢

4 个答案:

答案 0 :(得分:2)

我认为你想要像在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

答案 1 :(得分:2)

将这些文件添加到您的项目中并将其导入您的课程,然后在您的视图中添加以下命令。我希望您正在为您的应用程序使用基于导航的模板。

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];

答案 2 :(得分:1)

嗯,可以使用您自己的titleView自定义导航栏,因此您只需创建一个内部滚动文本的视图。因为在SDK中没有可以实现此效果的组件,所以您必须在开源库中查找一个或创建自己的库。我从未使用它,但请看一下UIScrollingLabel

答案 3 :(得分:0)

使用MarqueeLabel的Swift 5方法:

    let title = MarqueeLabel(frame: CGRect.zero, duration: 20, fadeLength: 10)
    title.textAlignment = .center
    title.textColor = .white
    title.text = header

    navigationController?.navigationBar.topItem?.titleView = title