iOS使用 CABasicAnimation 实现简单的跑马灯(无cpu暴涨)

发布时间 - 2026-01-10 22:42:48    点击率:

网上找了几个,但都有cup暴涨的情况发生,于是利用CABasicAnimation 简单的实现一个跑马灯,实现简单,可自己定制

#import <UIKit/UIKit.h>

@interface LoopView : UIView
@property(nonatomic,strong)NSString *Iformation;
@property(nonatomic,strong)NSString *Image;
@end
#import "LoopView.h"
#import "UIImageView+WebCache.h"
@interface LoopView(){
  UILabel *AD;
  UIImageView *headImage;
  CABasicAnimation *animation;
   CABasicAnimation *animationhead;
}
@end
@implementation LoopView
-(instancetype)initWithFrame:(CGRect)frame{

  self = [super initWithFrame:frame];
  if (self) {
    AD = [[UILabel alloc]initWithFrame:CGRectMake(28*WPSCREEN_WIDTH_RATIO, 0, self.frame.size.width, self.frame.size.height)];
    [self addSubview:AD];

    AD.textColor = TJXColor(146, 152, 169);
    AD.font = [UIFont fontWithName:@"Gotham-Book" size:12*WPSCREEN_WIDTH_RATIO];
    AD.textAlignment = NSTextAlignmentLeft;
    headImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 20*WPSCREEN_WIDTH_RATIO, 20*WPSCREEN_WIDTH_RATIO)];

    [self addSubview:headImage];

    headImage.layer.cornerRadius = 10;
    headImage.layer.masksToBounds = YES;

    [self sssss];
    [self headimage];
  }
  return self;
}
-(void)setIformation:(NSString *)Iformation{
    AD.text =Iformation;
}
-(void)setImage:(NSString *)Image{

   [headImage sd_setImageWithURL:[NSURL URLWithString:Image]];
}
-(void)sssss{


  animation = [CABasicAnimation animationWithKeyPath:@"position"];
  // 动画选项的设定
  animation.duration = 2; // 持续时间
  animation.repeatCount = MAXFLOAT; // 重复次数
  animation.removedOnCompletion = NO;
  animation.autoreverses = NO;
  // 起始帧和终了帧的设定
  animation.fromValue = [NSValue valueWithCGPoint:CGPointMake(AD.layer.position.x, 30*WPSCREEN_HIGTH_RATIO)]; // 起始帧
  animation.toValue = [NSValue valueWithCGPoint:CGPointMake(AD.layer.position.x, AD.layer.position.y-20*WPSCREEN_HIGTH_RATIO)]; // 终了帧
  // 添加动画
  [AD.layer addAnimation:animation forKey:@"AnimationMoveY"];
//  [headImage.layer addAnimation:animation forKey:@"AnimationMoveY"];

}
-(void)headimage{
  animationhead = [CABasicAnimation animationWithKeyPath:@"position"];
  // 动画选项的设定
  animationhead.duration = 2; // 持续时间
  animationhead.repeatCount = MAXFLOAT; // 重复次数
  animationhead.removedOnCompletion = NO;
  animationhead.autoreverses = NO;
  // 起始帧和终了帧的设定
  animationhead.fromValue = [NSValue valueWithCGPoint:CGPointMake(headImage.layer.position.x, 30*WPSCREEN_HIGTH_RATIO)]; // 起始帧
  animationhead.toValue = [NSValue valueWithCGPoint:CGPointMake(headImage.layer.position.x, headImage.layer.position.y-20*WPSCREEN_HIGTH_RATIO)]; // 终了帧
  // 添加动画
  [headImage.layer addAnimation:animationhead forKey:@"AnimationMoveY"];

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ios实现跑马灯效果  # ios跑马灯效果  # ios  # cabasicanimation  # iOS 实现跑马灯效果的方法示例  # 持续时间  # 几个  # 都有  # 找了  # 大家多多  # 跑马灯  # 网上  # AD  # UILabel  # headImage  # animationhead  # animation  # Iformation  # NSString  # Image  # WebCache  # UIImageView  # implementation  # CGRectMake  # alloc 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: 在线制作视频的网站有哪些,电脑如何制作视频短片?  Android中AutoCompleteTextView自动提示  Laravel如何实现多对多模型关联?(Eloquent教程)  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel Session怎么存储_Laravel Session驱动配置详解  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel如何记录自定义日志?(Log频道配置)  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  魔毅自助建站系统:模板定制与SEO优化一键生成指南  新三国志曹操传主线渭水交兵攻略  音乐网站服务器如何优化API响应速度?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在 React 中条件性地遍历数组并渲染元素  java中使用zxing批量生成二维码立牌  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel怎么为数据库表字段添加索引以优化查询  公司门户网站制作流程,华为官网怎么做?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何用花生壳三步快速搭建专属网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在云指建站中生成FTP站点?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  🚀拖拽式CMS建站能否实现高效与个性化并存?  如何彻底卸载建站之星软件?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  南京网站制作费用,南京远驱官方网站?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  如何快速搭建高效香港服务器网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  javascript基于原型链的继承及call和apply函数用法分析  javascript如何操作浏览器历史记录_怎样实现无刷新导航  如何在七牛云存储上搭建网站并设置自定义域名?  高防服务器租用指南:配置选择与快速部署攻略  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  网站制作免费,什么网站能看正片电影?  在centOS 7安装mysql 5.7的详细教程  如何快速搭建虚拟主机网站?新手必看指南  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  网站制作报价单模板图片,小松挖机官方网站报价?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel Docker环境搭建教程_Laravel Sail使用指南