美文网首页
iOS 跑马灯

iOS 跑马灯

作者: _Waiting_ | 来源:发表于2020-06-28 10:44 被阅读0次

前言
花里胡哨的UI,设计了花里胡哨的界面,然后我们苦逼的程序员就要去实现。

跑马灯效果有N多种实现,有通过动画实现的,有通过NSTimer实现的,我用的方法是NSTimer。

原理:
如下图,view显示信息的界面,label1和label2分别是要展示的内容,当label1离开屏幕是放到label2后面。如此反复。

-(void)createSubViews{
    
    self.layer.masksToBounds = YES;
    
    
    [self.viewsArr removeAllObjects];
    CGFloat h = self.frame.size.height;
    if (self.textArr.count == 1) {
        NSString *text = self.textArr.firstObject;
        CGFloat w = [self getElementWidthWithText:text];
        self.label1.frame = CGRectMake(0, 0, w, h);
        self.label1.text = text;
        
        
        self.label2.frame = CGRectMake(w, 0, w, h);
        self.label2.text = text;
        
        self.label1.tag = self.label1.tag = 0;
        
        [self.viewsArr addObject:self.label1];
        [self.viewsArr addObject:self.label2];
    }else if (self.textArr.count > 1){
        CGFloat w1 = 0;
        CGFloat w2 = 0;
        for (int i = 0; i<self.textArr.count; i++) {
            w1 = [self getElementWidthWithText:self.textArr[I]];
            UILabel *lab = [[UILabel alloc] init];
            lab.frame = CGRectMake(w2, 0, w1, h);
            lab.text = self.textArr[I];
            lab.tag = I;
            [self.viewsArr addObject:lab];
            w2 = w1;
        }
        
        UILabel *lab = self.viewsArr.firstObject;
        self.label1.frame = lab.frame;
        self.label1.text = lab.text;
        self.label1.tag = lab.tag;
        
        UILabel *lab2 = self.viewsArr[1];
        self.label2.frame = lab2.frame;
        self.label2.text = lab2.text;
        self.label2.tag = lab2.tag;
    }
    
    self.label3 = self.label1;
    
    
    self.label1.font = self.font;
    self.label2.font = self.font;
    
}

下载地址
demo

相关文章

  • iOS:一用就上瘾的跑马灯视图

    iOS:一用就上瘾的跑马灯视图 iOS:一用就上瘾的跑马灯视图

  • iOS 跑马灯的实现

    介绍 我们一说起跑马灯第一个想到的就是:山寨机。接下来介绍的跑马灯和那个跑马灯是不一样滴。在iOS中,跑马灯是指l...

  • iOS简单音乐实现、React-Native完整项目、仿闲鱼京东

    iOS精选源码 iOS快速入手语音识别、听写、评测、播报 网络加载数据的过渡动画(仿简书网页) iOS 封装跑马灯...

  • iOS 跑马灯 一句话集成【转】

    原文地址:iOS 跑马灯 一句话集成至于为什么说一句话,看一下我在ViewController中 初始化跑马灯的D...

  • iOS 跑马灯

    简易跑马灯效果,代码简单易懂,适合初学者 /** 新建文件,继承于UIView .h文件代码如下*/ #impor...

  • iOS - 跑马灯

  • iOS 跑马灯

    几行代码实现跑马灯/ 一个Label搞定跑马灯要显示的文字text,宽度为width 。label.text = ...

  • iOS 跑马灯

    前言花里胡哨的UI,设计了花里胡哨的界面,然后我们苦逼的程序员就要去实现。 跑马灯效果有N多种实现,有通过动画实现...

  • iOS 跑马灯

    参考文章:https://www.jianshu.com/p/8f1f1b1ee814 使用第三方框架TXScro...

  • H5 div文字循环滚动

    实际上也叫跑马灯。说起跑马灯这个词,还是去年或前年写iOS时候用到的呢,不知道是哪位前辈兴得这个词儿。在h5里俗点...

网友评论

      本文标题:iOS 跑马灯

      本文链接:https://www.haomeiwen.com/subject/yrqrxktx.html