美文网首页
iOS开发 UILabel文字滚动

iOS开发 UILabel文字滚动

作者: 汤玉阳Scofield | 来源:发表于2016-12-29 17:38 被阅读0次
     // 获取文本
        NSString *string = @"ScofieldTang文字滚动ScofieldTang文字滚动ScofieldTang文字滚动";
        
        // 初始化label
        UILabel *label      = [UILabel new];
        label.text          = string;
        label.font          = [UIFont systemFontOfSize:16];
        
        // 计算尺寸
        CGSize size         = [label.text sizeWithFont:label.font];
        label.frame         = (CGRect){CGPointZero, size};
        
        // 初始化ScrollView
        UIScrollView *showView = [[UIScrollView alloc] initWithFrame:CGRectMake(100, 100, 200, size.height)];
        showView.contentSize   = size;
        showView.showsHorizontalScrollIndicator = NO;
        [showView addSubview:label];
        [self.view addSubview:showView];
    
    // 动画 判断文字宽度大于scrollView宽度时开启动画
        if (size.width > showView.frame.size.width) {
            [UIView animateKeyframesWithDuration:5
                                           delay:0
                                         options:UIViewAnimationOptionRepeat //动画重复的主开关
             |UIViewAnimationOptionAutoreverse //动画重复自动反向,需要和上面这个一起用
             |UIViewAnimationOptionCurveLinear //动画的时间曲线,滚动字幕线性比较合理
                                      animations:^{
                                          // 计算移动的距离
                                          CGPoint point = showView.contentOffset;
                                          point.x = size.width - 200;
                                          showView.contentOffset = point;
                                      }
                                      completion:^(BOOL finished) {
                                          
                                      }];
        }
    
    
    
    
    

    相关文章

      网友评论

          本文标题:iOS开发 UILabel文字滚动

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