滚动栏的开发

滚动栏的开发

1.组件化在开发之前
2.组件化在开发之后

组件库开发流程
将控件封装成pod库
1.pod lib create 生产example文件进行调试

在pod创建的文件 如果没有pod install就没有引用关系 解决方案
先在主工程创建classes文件夹 进行开发 开发完成后再移动到pod中

对于组件 进行需求分析

  1. 通过外界的字符串生产选项卡
  2. 外界设置选项卡颜色 样式
  3. 点击后得到索引值 并传递给外界 滚动栏的自动滚动
  4. 反向设置选中效果
自动滚动的动效实现

通过选中的索引来获取底部滚动scrollview 的偏移量来进行动画效果并使选中按钮居中
contentoffset.x 左减右加 并判断两端的临界值

设置数据源

重写setItems方法
在layoutSubviews 进行布局
setNeedLayout 设置标识
LayoutIfNeed检测标识并刷新

设置选项卡颜色

封装颜色属性时 单个属性要刷新界面 时会多次刷新
可以将其封装到一起进行配置 暴露出配置类
config 对象 多个属性 default 并将config暴露出

链式编程

monsony 内部抛出对象
链式编程 使用点语法做很多的操作
函数或者block 函数做不到多个点语法
链式编程 block 可以使用多个点语法 可以依附于多个对象
block作为一个类的实例并返回该实例
内部实现 外界只负责调用
@property (nonatomic,copy,readonly) XMGSegmentBarConfig *(^itemNC)(UIcolor*color);

你可能感兴趣的:(滚动栏的开发)