12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //
- // JXSegmentedIndicatorParamsModel.swift
- // JXSegmentedView
- //
- // Created by jiaxin on 2018/12/26.
- // Copyright © 2018 jiaxin. All rights reserved.
- //
- import Foundation
- import UIKit
- /**
- 指示器传递的数据模型,不同情况会对不同的属性赋值,根据不同情况的api说明确认。
- 为什么会通过model传递数据,因为指示器处理逻辑以后会扩展不同的使用场景,会新增参数。如果不通过model传递,就会在api新增参数,一旦修改api修改的地方就特别多了,而且会影响到之前自定义实现的开发者。
- */
- public struct JXSegmentedIndicatorSelectedParams {
- public let currentSelectedIndex: Int
- public let currentSelectedItemFrame: CGRect
- public let selectedType: JXSegmentedViewItemSelectedType
- public let currentItemContentWidth: CGFloat
- /// collectionView的contentSize
- public var collectionViewContentSize: CGSize?
- public init(currentSelectedIndex: Int, currentSelectedItemFrame: CGRect, selectedType: JXSegmentedViewItemSelectedType, currentItemContentWidth: CGFloat, collectionViewContentSize: CGSize?) {
- self.currentSelectedIndex = currentSelectedIndex
- self.currentSelectedItemFrame = currentSelectedItemFrame
- self.selectedType = selectedType
- self.currentItemContentWidth = currentItemContentWidth
- self.collectionViewContentSize = collectionViewContentSize
- }
- }
- public struct JXSegmentedIndicatorTransitionParams {
- public let currentSelectedIndex: Int
- public let leftIndex: Int
- public let leftItemFrame: CGRect
- public let rightIndex: Int
- public let rightItemFrame: CGRect
- public let leftItemContentWidth: CGFloat
- public let rightItemContentWidth: CGFloat
- public let percent: CGFloat
- public init(currentSelectedIndex: Int, leftIndex: Int, leftItemFrame: CGRect, leftItemContentWidth: CGFloat, rightIndex: Int, rightItemFrame: CGRect, rightItemContentWidth: CGFloat, percent: CGFloat) {
- self.currentSelectedIndex = currentSelectedIndex
- self.leftIndex = leftIndex
- self.leftItemFrame = leftItemFrame
- self.leftItemContentWidth = leftItemContentWidth
- self.rightIndex = rightIndex
- self.rightItemFrame = rightItemFrame
- self.rightItemContentWidth = rightItemContentWidth
- self.percent = percent
- }
- }
|