Latest 1.1.0
Homepage https://github.com/yscode001/YSCategoryView
License MIT
Platforms ios 9.0
Frameworks UIKit
Authors

滑动分类视图

YSCategoryView

环境

swift4.2、iOS9.0

使用步骤

1、导入框架

pod 'YSCategoryView'

2、导入命名空间

import YSCategoryView

重要API

// 创建,如果传入内容SV,会监听内容SV的滚动,滚动时有缩放效果,否则没有

// 样式设置,具体样式可以点击头文件查看,每个样式都有注释
let style = YSCategoryViewStyle()
style.identifyerLineSize.width = 0 // 为0表示标识线宽度跟随条目走
style.identifierLineAnimationType = .translation // 平移动画
style.identifierLineAnimationType = .stretch // 拉伸动画

public convenience init(titleList:[String],style:style,contentSV:UIScrollView?)

// 重置标题数组,注意,重置之后会发送一个valueChanged事件,头0开始

public func ys_resetTitles(titleList:[String])

// 重设索引,使用场景:内容SV滚动结束后,改变分类视图的选中选项

public func ys_setCurrentIndex(index:Int)

public func ys_setCurrentIndex(title:String)

// 获取当前索引,使用场景:分类视图中点击选项后(即改变选项后),把内容SV的展示内容项做改变

public var ys_currentIndex:Int

public var ys_currentTitle:String

// 如果关联的内容SV先释放,则在释放之前一定要调用,如果本控件先释放,则不用:

public func ys_releaseContentSV()

// 国际化语言适配,注意注意注意,重要的事情说三遍,控制器务必加入以下代码

public func ys_adapterLanguageRTL(languageRTL:Bool)

// 如果国际化语言方向是Right To Left,如阿拉伯语,传true
// 否则,如果国际化语言方向是Left To Right,如:中文、英文,传false
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    // 这里放心调用,不会出现页面显示之后,闪一下的情况
    YSCategoryView对象.ys_adapterLanguageRTL(languageRTL: true)
}

重要的事情说三遍,注意注意注意

// 国际化语言适配,注意注意注意,重要的事情说三遍,控制器务必加入以下代码

public func ys_adapterLanguageRTL(languageRTL:Bool)

// 如果国际化语言方向是Right To Left,如阿拉伯语,传true
// 否则,如果国际化语言方向是Left To Right,如:中文、英文,传false
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// 这里放心调用,不会出现页面显示之后,闪一下的情况
YSCategoryView对象.ys_adapterLanguageRTL(languageRTL: true)
}

// 如果关联的内容SV先释放,则在释放之前一定要调用,如果本控件先释放,则不用:

public func ys_releaseContentSV()

// 小知识点,在swift中:
// 1、如果2个视图是父子关系,父视图先释放,子视图后释放
// 2、如果2个视图是兄弟关系,先添加的先释放,后添加的后释放
// 释放规律,有点类似队列的意思,先进先出
// 所以,先添加此分类视图,再添加与之对应的scrollView,完全没问题,不用调用ys_releaseContentSV

swift视图释放规律

// 父子关系:
override func viewDidLoad() {
    super.viewDidLoad()
    view.addSubview(redV)
    redV.addSubview(blueV)
}
deinit:VC
deinit:redView
deinit:blueView

// 兄弟关系:
override func viewDidLoad() {
    super.viewDidLoad()
    view.addSubview(redV)
    view.addSubview(blueV)
}
deinit:VC
deinit:redView
deinit:blueView

示例代码

项目git下来后直接运行,ViewController里面即为使用的示例代码

Latest podspec

{
    "name": "YSCategoryView",
    "version": "1.1.0",
    "summary": "u6ed1u52a8u5206u7c7bu89c6u56fe",
    "homepage": "https://github.com/yscode001/YSCategoryView",
    "license": "MIT",
    "authors": {
        "ys": "[email protected]"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source": {
        "git": "https://github.com/yscode001/YSCategoryView.git",
        "tag": "1.1.0"
    },
    "source_files": "YSCategoryView/YSCategoryView/YSCategoryView/*.swift",
    "frameworks": "UIKit"
}

Pin It on Pinterest

Share This