iOS之跑马灯文字上下滚动效果

近期项目中涉及到滚动新闻通知的跑马灯效果,封装的目的在于不断提高自己的技术能力,使得代码越来越精简,使控制器的负担越来越少,所以我们再写代码的时候应该将代码能封装的尽量封装起来,只暴露一些初始化方法以及和一些需要设置的属性即可。

🙃.jpg

首先我们先看实现跑马灯的.h文件

/** 标题的字体 默认为14 */
@property(nonatomic)UIFont *titleFont;
/**标题的颜色 默认红色*/
@property(nonatomic)UIColor *titleColor;
/**存放titles的数组 和初始化的数组一致*/
@property(nonatomic)NSArray *titleArr;
//回调
@property(nonatomic,copy)void(^handlerTitleClickCallBack)(NSInteger index);

#pragma mark - init Methods
-(instancetype)initWithFrame:(CGRect)frame withTitle:(NSArray *)titles;

其次我们再控制器里面导入头文件便可以直接使用了

#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.经常玩玩可以锻炼自己的技术耶",@"3.所以要经常经常玩玩,这样才能更加完美",@"4.你说对不对",@"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;

}

最后附上美丽的一张图加上爱心满满的demo

上下滚动.gif

demo下载链接点我

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,526评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,294评论 4 61
  • 你总说我不温柔,一言不合就急火冒头,劈头盖脸如炮火出击,你先是争论喋喋不休,如今却已黯然认输。 你总说我不温柔,声...
    悄安阅读 371评论 0 0
  • 当你的心充满祥和,去到哪里都一样欢喜自在;当你的心充满智慧,一花一草都令你见到真理。 你此时此刻遇到的、拥有的,是...
    xcy无名阅读 199评论 0 0
  • Given a set of distinct positive integers, find the large...
    六尺帐篷阅读 894评论 0 1