12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // JXSegmentedIndicatorProtocol.swift
- // JXSegmentedView
- //
- // Created by jiaxin on 2018/12/26.
- // Copyright © 2018 jiaxin. All rights reserved.
- //
- import Foundation
- import UIKit
- public protocol JXSegmentedIndicatorProtocol {
- /// 是否需要将当前的indicator的frame转换到cell。辅助JXSegmentedTitleDataSourced的isTitleMaskEnabled属性使用。
- /// 如果添加了多个indicator,仅能有一个indicator的isIndicatorConvertToItemFrameEnabled为true。
- /// 如果有多个indicator的isIndicatorConvertToItemFrameEnabled为true,则以最后一个isIndicatorConvertToItemFrameEnabled为true的indicator为准。
- var isIndicatorConvertToItemFrameEnabled: Bool { get }
-
- /// 视图重置状态时调用,已当前选中的index更新状态
- /// param selectedIndex 当前选中的index
- /// param selectedCellFrame 当前选中的cellFrame
- /// param contentSize collectionView的contentSize
- /// - Parameter model: model description
- func refreshIndicatorState(model: JXSegmentedIndicatorParamsModel)
- /// contentScrollView在进行手势滑动时,处理指示器跟随手势变化UI逻辑;
- /// param selectedIndex 当前选中的index
- /// param leftIndex 正在过渡中的两个cell,相对位置在左边的cell的index
- /// param leftCellFrame 正在过渡中的两个cell,相对位置在左边的cell的frame
- /// param rightIndex 正在过渡中的两个cell,相对位置在右边的cell的index
- /// param rightCellFrame 正在过渡中的两个cell,相对位置在右边的cell的frame
- /// param percent 过渡百分比
- /// - Parameter model: model description
- func contentScrollViewDidScroll(model: JXSegmentedIndicatorParamsModel)
- /// 点击选中了某一个item
- /// param lastSelectedIndex 之前选中的index
- /// param selectedIndex 选中的index
- /// param selectedCellFrame 选中的cellFrame
- /// param selectedType 选中的类型
- /// - Parameter model: model description
- func selectItem(model: JXSegmentedIndicatorParamsModel)
- }
|