Jelajahi Sumber

Merge branch 'master' of https://git.yishihui.com/iOS/BFFramework

* 'master' of https://git.yishihui.com/iOS/BFFramework:
  1,添加快慢速精准位数,2,循环比 Int 整
  添加是否为 INT 值属性,并正确显示
  添加 float 类型精确位数 方法
huzhiqiang 3 tahun lalu
induk
melakukan
c0da88e482

+ 33 - 0
BFFramework/Classes/BFModules/BFCategorys/BFFloat+Ext.swift

@@ -0,0 +1,33 @@
+//
+//  BFFloat+Ext.swift
+//  BFFramework
+//
+//  Created by ak on 2021/10/11.
+//
+
+import Foundation
+
+extension Float {
+    /// 准确的小数尾截取 - 没有进位
+    /*
+     // 11.999003  -> 12.0
+     var pp = 11.999003
+     String(format: "%.1f", pp)  这个方法会进行四舍五入
+     */
+    func decimalString(_ base: Self = 1) -> String {
+       return "\(self.decimalNumber(base))"
+    }
+    func decimalNumber(_ base: Self = 1) -> Float {
+        let tempCount: Self = pow(10, base)
+        let temp = self*tempCount
+        
+        let target = Self(Int(temp))
+        let stepone = target/tempCount
+        if stepone.truncatingRemainder(dividingBy: 1) == 0 {
+            return Float(String(format: "%.0f", stepone)) ?? 0.0
+        }else{
+            return stepone
+        }
+    }
+}
+ 

+ 9 - 1
BFFramework/Classes/BFModules/BFCustomViews/views/BFUISlider.swift

@@ -36,6 +36,9 @@ class BFUISlider: UISlider {
     //slider的value文本颜色
     var valueTextColor:UIColor?
     
+    //返回的数值是否为整形
+    var valueIsInt:Bool = false
+    
     lazy var valueLabel:UILabel = {
         let valueLabel = UILabel.init()
         valueLabel.text = "0"
@@ -81,7 +84,12 @@ class BFUISlider: UISlider {
     }
     @objc func sliderValueChanged(sender: BFUISlider) {
         
-        valueText = String(format: "%.1fx", sender.value)
+        if(valueIsInt){
+            valueText = "\(Int(sender.value))x"
+        }else{
+            valueText = "\(sender.value.decimalString())x"
+        }
+      
  
     }
     @objc func sliderTouchUpInside(sender: BFUISlider) {

+ 4 - 3
BFFramework/Classes/Stuckpoint/View/PQCustomSpeedSettingView.swift

@@ -131,6 +131,7 @@ class PQCustomSpeedSettingView: UIView {
             }else if(viewType == 3){
                 titleLab.text = "自定义循环"
                 jumpSpeedSlider.maximumValue = 20
+                jumpSpeedSlider.valueIsInt = true
             }
         }
     }
@@ -251,12 +252,12 @@ class PQCustomSpeedSettingView: UIView {
     // 确认
     @objc func confirmClick(sender _: UIButton) {
         isHidden = true
-        BFLog(message: "fastSlider: \(fastSlider.value) slowSlider: \(slowSlider.value) jumpSpeedSlider:\(jumpSpeedSlider.value)")
+        BFLog(message: "fastSlider: \(fastSlider.value.decimalNumber()) slowSlider: \(slowSlider.value.decimalNumber()) jumpSpeedSlider:\(jumpSpeedSlider.value.decimalNumber(0))")
         if selectSpeedCallBack != nil {
             if(viewType == 1){
-                selectSpeedCallBack!(fastSlider.value, slowSlider.value, viewType,false)
+                selectSpeedCallBack!(fastSlider.value.decimalNumber(), slowSlider.value.decimalNumber(), viewType,false)
             }else{
-                selectSpeedCallBack!(jumpSpeedSlider.value, 0, viewType,false)
+                selectSpeedCallBack!(jumpSpeedSlider.value.decimalNumber(0), 0, viewType,false)
             }
         
         }