如何实现一个弹幕效果呢

1.首先:在storyboard里面拖一幅图片和view 设置他们的约束,把弹幕view加到view上清空弹幕view的背景色

2.自定义一个view

DanMuView.h


DanMuView.m

#import"DanMuView.h"

@interfaceDanMuView()

@property(nonatomic,assign)CGFloat imageX;

@end

@implementationDanMuView

/**

当控件从xib/sb中创建是会调用

*/

-(void)awakeFromNib

{

self.imageX=375;

[self addTimer];

}

//绘制内容到这个view上面

/**

不能直接调用(系统自动调用,每次调用该方法会将上一次绘制的内容清空)

*/

- (void)drawRect:(CGRect)rect

{

//加载图片

UIImage*image = [UIImage imageNamed:@"oscillogram_4@2x"];

//绘制图片

[image drawAtPoint:CGPointMake(self.imageX,10)];

}

#pragma mark-添加定时器

-(void)addTimer

{

//每秒执行60次回调方法

CADisplayLink*link = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateTimer)];

//将定时器添加到RunLoop

[link addToRunLoop:[NSRunLoop currentRunLoop]forMode:NSRunLoopCommonModes];

}

/**

定时器的回调方法

*/

-(void)updateTimer{

NSLog(@"%s",__FUNCTION__);

self.imageX-=1;

//通知重新绘制

[self setNeedsDisplay];

}

@end


3.把图片放入工程当中,由于没有真正想弹幕那种图片,唯有用蓝色图片做代替

4.效果图:



最后!欢迎加入iOS技术大群,学习知识交更多的同行朋友            QQ群号:580284575

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容