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

作者: flowerflower | 来源:发表于2017-08-19 17:53 被阅读561次

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

    🙃.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下载链接点我

    相关文章

      网友评论

      本文标题:iOS之跑马灯文字上下滚动效果

      本文链接:https://www.haomeiwen.com/subject/wxntdxtx.html