1

嗨,我必须移动导航栏上的文本。我对滚动文本一无所知。有人对此有任何想法,请告诉我。

谢谢

4

4 回答 4

3

我认为您想像在 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
于 2012-06-06T10:00:37.123 回答
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];
于 2012-06-06T10:25:37.583 回答
1

好吧,导航栏可以用你自己的 titleView 自定义,所以你需要做的就是创建一个里面有滚动文本的视图。因为 SDK 中没有实现这个效果的组件,所以你必须在开源库中寻找或创建自己的。我从来没有用过,但是看看这个UIScrollingLabel

于 2012-06-06T09:13:47.060 回答
0

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
于 2020-07-29T01:15:50.680 回答