Swift4.0--一個好用的金融類遊標卡尺
Swift--一個好用的金融類遊標卡尺
思路:
使用UICollectionView製作一個遊標卡尺,每一個cell代表一個刻度區間,每個區間間隔值、區間分割份數和卡尺樣式等都是可設定的。通過代理協議,監聽卡尺的滾動值,設定卡尺的顯示值等等。也可以設定預設最大可用金額,當使用者滾動卡尺超過最大可用金額時自動回滾等(自己專案中使用到)。github
效果圖
初始化方法如下:
/// 遊標卡尺
///
/// - Parameters:
/// - frame: 卡尺大小
/// - min: 卡尺最小值
/// - max: 卡尺最大值
/// - part: 每個區被分割的分數
/// - step: 一個區間的大小,預設1000
/// - unit: 單位
/// - numFontSize: 數值文字大小
/// - endNum: 最大有效值
/// - endText: 最大有效值文案
/// - endTextColor: 最大有效值文案顏色
/// - endtextFontSize: 最大有效值文案字型大小
/// - strokeColor: 卡尺顏色
public init(frame: CGRect, strokeColor: UIColor, middleLineColor: UIColor, min: CGFloat, max: CGFloat, part: Int = default, step: Int = default, unit: String = default, numFontSize: CGFloat, endNum: CGFloat, endText: String, endTextColor: UIColor, endtextFontSize: CGFloat)
如果是網路請求返回的數值,需要實時更新卡尺的,可呼叫
/// 更新遊標卡尺
///
/// - Parameters:
/// - min: 卡尺最小值
/// - max: 卡尺最大值
/// - part: 每個區被分割的分數
/// - step: 一個區間的大小,預設1000
/// - unit: 單位
/// - numFontSize: 數值文字大小
/// - endNum: 最大有效值
/// - endText: 最大有效值文案
/// - endTextColor: 最大有效值文案顏色
/// - endtextFontSize: 最大有效值文案字型大小
internal func reloadRulerView(min: CGFloat, max: CGFloat, part: Int = default, step: Int = default, unit: String = default, numFontSize: CGFloat, endNum: CGFloat, endText: String, endTextColor: UIColor, endtextFontSize: CGFloat)
設定卡尺的位置方法
/// 設定卡尺顯示值
///
/// - Parameter endN: 指定的值
public func scrollToEndNumber(endN: CGFloat, animated: Bool = default)
卡尺互動協議
/// 滾動時,返回當前值
///
/// - Parameters:
/// - value: 當前值
internal func scrollViewDidScroll(value: CGFloat)
/// 尺子即將被拖拽
///
/// - Parameter value: 當前值
internal func scrollViewWillBeginDragging(value: CGFloat)
/// 尺子停止滾動協議
///
/// - Parameter value: 停止滾動值
internal func scrollViewDidEndDragging(value: CGFloat)
/// 尺子滾動動畫停止協議
///
/// - Parameter value: 停止滾動值
internal func scrollViewDidEndScrollingAnimation(value: CGFloat)
相關文章
- 一句話概括:需要拿著遊標卡尺學習的語言
- 一個利用遊標返回資料集的例子
- 三個好用的併發工具類
- 介紹幾個好用的工具類
- 一個查詢類路徑的jsp--想當好用!JS
- PL/SQL-遊標和遊標變數的使用SQL變數
- 好用的一個object c 巨集Object
- 工具篇:介紹幾個好用的guava工具類Guava
- PLSQL 遊標 變數的使用一例SQL變數
- java使用mybatis 呼叫函式返回一個遊標結果集JavaMyBatis函式
- 推薦一個好用的以多tab標籤方式開啟windows CMD的工具Windows
- 推薦一個好用的網站網站
- Oracle遊標Oracle
- Oracle 遊標Oracle
- SQL 遊標SQL
- 一個旅遊網站日誌的分析指標:網路資料的背後網站指標
- java的一個類!Java
- Oracle遊標共享(Cursor Sharing)--常規遊標共享和自適應遊標共享(ACS)Oracle
- Oracle遊標共享,父遊標和子游標的概念Oracle
- 一個好用的畫圖工具 excalidraw
- Kotlin 一個好用的新功能:ParcelizeKotlin
- Mysql 一個比較好用的函式MySql函式
- java使用mybatis 呼叫儲存過程返回一個遊標結果集JavaMyBatis儲存過程
- 遊標和遞迴sql 的一些程式碼遞迴SQL
- 儲存過程定義多個遊標多個begin儲存過程
- clover 一個windows 多個視窗集中在一個介面類似google的多標籤功能軟體WindowsGo
- 遊標查詢
- PL/SQL 遊標SQL
- MongoDB之遊標MongoDB
- SQL Server遊標SQLServer
- Oracle遊標示例Oracle
- Oracle遊標大全Oracle
- SQL 遊標cursorSQL
- SqlServer遊標例子SQLServer
- 金融大腦,網際網路金融的下一個風暴眼
- SQL 遊標cursor的運用SQL
- oracle cursor遊標迴圈比較遊標元素是否相同Oracle
- Hutool—好用的 Java 工具類庫Java