近期項(xiàng)目中涉及到滾動(dòng)新聞通知的跑馬燈效果,封裝的目的在于不斷提高自己的技術(shù)能力闯袒,使得代碼越來越精簡雷蹂,使控制器的負(fù)擔(dān)越來越少铺浇,所以我們?cè)賹懘a的時(shí)候應(yīng)該將代碼能封裝的盡量封裝起來却舀,只暴露一些初始化方法以及和一些需要設(shè)置的屬性即可逛漫。
首先我們先看實(shí)現(xiàn)跑馬燈的.h文件
/** 標(biāo)題的字體 默認(rèn)為14 */
@property(nonatomic)UIFont *titleFont;
/**標(biāo)題的顏色 默認(rèn)紅色*/
@property(nonatomic)UIColor *titleColor;
/**存放titles的數(shù)組 和初始化的數(shù)組一致*/
@property(nonatomic)NSArray *titleArr;
//回調(diào)
@property(nonatomic,copy)void(^handlerTitleClickCallBack)(NSInteger index);
#pragma mark - init Methods
-(instancetype)initWithFrame:(CGRect)frame withTitle:(NSArray *)titles;
其次我們?cè)倏刂破骼锩鎸?dǎo)入頭文件便可以直接使用了
#pragma mark - Life Cycle
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.marqueeView];
}
#pragma Lazy Methods
- (MarqueeView *)marqueeView{
if (!_marqueeView) {
MarqueeView *marqueeView =[[MarqueeView alloc]initWithFrame:CGRectMake(10, 20, 400, 30) withTitle:@[@"1.我覺得封裝好好玩",@"2.經(jīng)常玩玩可以鍛煉自己的技術(shù)耶",@"3.所以要經(jīng)常經(jīng)常玩玩黑低,這樣才能更加完美",@"4.你說對(duì)不對(duì)",@"end"]];
marqueeView.titleColor = [UIColor blueColor];
marqueeView.titleFont = [UIFont systemFontOfSize:16];
marqueeView.backgroundColor = [UIColor yellowColor];
__weak MarqueeView *marquee = marqueeView;
marqueeView.handlerTitleClickCallBack = ^(NSInteger index){
NSLog(@"%@----%zd",marquee.titleArr[index-1],index);
};
_marqueeView = marqueeView;
}
return _marqueeView;
}