SizeSlideButton 1.5

SizeSlideButton 1.5

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

Jonathan Cardasis 维护。



  • Jonathan Cardasis

SizeSlideButton

一个有趣的 Swift UIControl,用于选择大小。 演示动画

安装

手动

SizeSlideButton.swift 类添加到您的项目中。

示例

let condensedFrame = CGRect(x: 280, y: 70, width: 32, height: 32) //Width and Height should be equal
let fancyControl = SizeSlideButton(condensedFrame: condensedFrame)

fancyControl.trackColor = UIColor(red: 38/255, green: 50/255, blue: 56/255, alpha: 1)
fancyControl.handle.color = UIColor.white
fancyControl.addTarget(self, action: #selector(newSizeSelected), for: .touchDragFinished)
fancyControl.addTarget(self, action: #selector(sizeSliderTapped), for: .touchUpInside)
self.view.addSubview(fancyControl)


func newSizeSelected(_ sender: SizeSlideButton){
    //Do something once a size is selected and the control let go
    // You can now use the senders .value for a value between 0 and 1
    // Or use the handle's height (handle.height) as a multiplier for size
    print("Value: \(sender.value)")
    print("Size multiplier: \(sender.handle.height)")

    // Ex: self.paintbrush.brushSize = kDefaultBrushSize * sender.handle.height
}

func sizeSliderTapped(_ sender: SizeSlideButton){
    //Do something when the button is tapped
    print("Tip Tap")
 }

输出

文档

  • init(condensedFrame: CGRect) 将设置压缩框架所处位置的框架(宽度和高度应相等)
  • init(frame: CGRect) 将设置完全展开时框架应处的框架
  • currentSize 用于获取用户选择的大小
  • handlePadding 设置手柄周围的填充(默认为左侧的半径)。效果最好为 <= leftSideRadius
  • handle.color 是滑块的柄颜色
  • handle.height/handle.width 获取手柄的大小并可以用作乘以默认常量大小的乘数
  • trackColor 是轨道的颜色
  • value 是介于 0 和 1.0 之间的值,表示手柄相对于轨道上的位置
  • leftSideRadiusrightSideRadius 返回展开时框架左侧和右侧的半径
  • currentState 返回控制是否压缩或展开
  • animationType 指定释放控件时使用的动画类型

支持 UIControlEvents

  • touchUpInside 在触摸控件释放时调用
  • valueChanged 在移动横板时调用
  • touchDown 在检测到长按或正常触摸时调用
  • touchDragFinished (自定义 UIControlEvent)在滑块选择新值并被释放时调用

许可协议

SizeSlideButton许可协议为MIT许可。有关更多信息,请参阅LICENSE文件。