如何實(shí)現(xiàn)一個彈幕效果呢

1.首先:在storyboard里面拖一幅圖片和view 設(shè)置他們的約束,把彈幕view加到view上清空彈幕view的背景色

2.自定義一個view

DanMuView.h


DanMuView.m

#import"DanMuView.h"

@interfaceDanMuView()

@property(nonatomic,assign)CGFloat imageX;

@end

@implementationDanMuView

/**

當(dāng)控件從xib/sb中創(chuàng)建是會調(diào)用

*/

-(void)awakeFromNib

{

self.imageX=375;

[self addTimer];

}

//繪制內(nèi)容到這個view上面

/**

不能直接調(diào)用(系統(tǒng)自動調(diào)用,每次調(diào)用該方法會將上一次繪制的內(nèi)容清空)

*/

- (void)drawRect:(CGRect)rect

{

//加載圖片

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

//繪制圖片

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

}

#pragma mark-添加定時器

-(void)addTimer

{

//每秒執(zhí)行60次回調(diào)方法

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

//將定時器添加到RunLoop

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

}

/**

定時器的回調(diào)方法

*/

-(void)updateTimer{

NSLog(@"%s",__FUNCTION__);

self.imageX-=1;

//通知重新繪制

[self setNeedsDisplay];

}

@end


3.把圖片放入工程當(dāng)中,由于沒有真正想彈幕那種圖片,唯有用藍(lán)色圖片做代替

4.效果圖:



最后!歡迎加入iOS技術(shù)大群,學(xué)習(xí)知識交更多的同行朋友? ? ? ? ? ? QQ群號:580284575

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容