跑马灯动画实现方式(一)UIView animate block 方式

通过UIView animate block 方式简单实现

-(void)startAnimation{

      //取消所有的动画

      //[self.aUILabel.layer removeAllAnimations];

     //计算实际text大小

     CGSizetextSize =            [self.aUILabel.textsizeWithAttributes:@{NSFontAttributeName:self.aUILabel.font}];

     //保存label的frame值

     CGRectlframe =self.aUILabel.frame;

     //用计算出来的text的width更改frame的原始width

    lframe.size.width= textSize.width;

    //从屏幕最右边向左边移动

    lframe.origin.x=self.view.bounds.size.width;

   //用新值更改label的原frame值

   self.aUILabel.frame= lframe;

   //计算动画x移动的最大偏移:屏幕width+text的width

   floatoffset = textSize.width+self.view.bounds.size.width;

   [UIView animateWithDuration:10.0

                delay:0

                options:UIViewAnimationOptionRepeat//动画重复的主开关

                |UIViewAnimationOptionCurveLinear//动画的时间曲线

                animations:^{

                    self.aUILabel.transform=CGAffineTransformMakeTranslation(-offset,0);

}

 completion:^(BOOLfinished) {

}

     ];

}


附图片:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 5,265评论 0 3
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,533评论 5 13
  • 转自:http://www.code4app.com/blog-866962-1317.html1、设置UILab...
    MMOTE阅读 5,677评论 1 1
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,720评论 6 30
  • 本指南适用于冬季哈尔滨旅游的各位游客。 建议各位南方的游客来哈尔滨之前,阅读并背诵全文。 总有好多再三劝说,还会以...
    抹香鲸的海2011阅读 3,290评论 2 4