iOS标签滚动字幕

释放双眼,带上耳机,听听看~!

设置滚动字幕也即是持续改变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
= [UIColorpurpleColor];

    [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);

    }

}


 

人已赞赏
iOS文章

iOS开发NSDictionary+Addition

2020-3-4 16:14:22

iOS文章

iOS获取view的controller

2020-3-4 18:55:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索