53 lines
2.3 KiB
Swift
53 lines
2.3 KiB
Swift
//
|
||
// 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
|
||
}
|
||
}
|