框架篇:一(网易新闻)+ 单例的另外一种方法创建


这个Demo是我在网站上看到的,不是本人所写,但是我觉得做框架就得从这个框架入门。


框架分析:

此Demo可以分为2部分:1⃣️,上面可以移动得ScrollView。2⃣️,下面可以移动的ScrollView。


:上下的ScrollView都会只有被初始化一次,所以都设定为单利即可,调用起来还比较方便。

但是这里我发现了原作者写了一段新的产生单利的代码,网上搜了以下,果然是新的写法,比之前的判断好用多了,源码如下:

    static TopScrollView *_singleOfTopScrollView;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        
        _singleOfTopScrollView = [[self alloc] initWithFrame:CGRectMake(0, 0, CONTENTSIZE, 44)];
    });
    return _singleOfTopScrollView;
听说这个dispatch_once是专门问单利所生的,而且还是线程安全的,以后决定就用它了。

头部ScrollView详解:

头部的内容主要有2个,一个是Button,一个是可以移动的红线(imageView),ScrollView上添加Button,这个比较简单。然后就是红线移动(当移动完成时,重置被选择Button的Tag值):

	[UIView animateWithDuration:0.25 animations:^{
            
            [shadowImageView setFrame:CGRectMake((buttonSelectedTag - 100)*30,0, 59, 44)];
        } completion:^(BOOL finished) {
            
            if(finished){
                
                buttonSelectedTag = button.tag;
            }
        }];
在button被点击的时候,调出RootView并移动到相对位置,这样就可以同步了。

下面ScrollView详解:

下面的话和上面正好相反。理论差不多,就是移动红线和修改被点击的Tag值。


这个框架算是相当简单,所以不提供源码,自己去找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值