滚动字幕

来源:互联网 发布:淘宝卖书的经营许可证 编辑:程序博客网 时间:2024/05/17 05:17

设置滚动字幕也即是持续改变frame的原点位置,设置定时器,持续移动位置。下面列出方法

1.设置宏定义屏幕宽度

#define WIDTH  [[UIScreen mainScreen] bounds].size.width

2.定义成员变量和属性

@interface ViewController (){

    NSTimer  *_timer;

    NSInteger _number;

    CGSize _size;

}

//内容标签

@property (nonatomic,strong)UILabel *contentLabel;

3.代码实现

- (void)viewDidLoad {

    [superviewDidLoad];

    //红色View背景

    UIView *redView = [[UIViewalloc]initWithFrame:CGRectMake(0,100,WIDTH ,50)];

    redView.backgroundColor = [UIColorredColor];

    [self.viewaddSubview:redView];

    

    _number =0;

    self.contentLabel = [[UILabelalloc]init];

    self.contentLabel.text = @"发撒供热个好的孤儿都没了复古而针对记佛尔评估和欺骗法规和分离时防控案频发法搜发育完全";

    //计算内容Label的文本尺寸

    _size = [self.contentLabel.textsizeWithAttributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:15]}];

    //内容Label的初始frame

    self.contentLabel.frame =CGRectMake(WIDTH,0,_size.width,50);

    //字体大小

    self.contentLabel.font = [UIFont systemFontOfSize:15];

    //文本字体颜色

    self.contentLabel.textColor = [UIColor purpleColor];

    [redView addSubview:self.contentLabel];

    //定时器

    _timer = [NSTimerscheduledTimerWithTimeInterval:0.008target:selfselector:@selector(timerRunnding:)userInfo:nilrepeats:YES];

}

- (void)timerRunnding:(NSTimer *)timer{

    if (_number *0.5 <_size.width +WIDTH) {

        _number++;

        self.contentLabel.frame =CGRectMake(WIDTH -_number * 0.5,0,_size.width ,50);    

    }else{

        _number =0;

        self.contentLabel.frame =CGRectMake(WIDTH -_number * 0.5,0,_size.width ,50);

    }

}



0 0
原创粉丝点击