如何实现一个弹幕效果呢

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

如何实现一个弹幕效果呢_第1张图片

2.自定义一个view

DanMuView.h


如何实现一个弹幕效果呢_第2张图片

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.效果图:


如何实现一个弹幕效果呢_第3张图片


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

你可能感兴趣的:(如何实现一个弹幕效果呢)