项目作者: keygx

项目描述 :
ButtonStyleKit is helper library for UIButton custom styles.
高级语言: Swift
项目地址: git://github.com/keygx/ButtonStyleKit.git
创建时间: 2016-08-04T12:42:06Z
项目社区:https://github.com/keygx/ButtonStyleKit

开源协议:MIT License

下载


ButtonStyleKit

ButtonStyleKit is helper library for UIButton custom styles.

Requirements

  • Swift 5
  • iOS 9.0 or later

Installation

Carthage

  1. github "keygx/ButtonStyleKit"

CocoaPods

  1. pod 'ButtonStyleKit', :git => 'https://github.com/keygx/ButtonStyleKit'

Swift versions support

  • Swift 5, tag “swift5”
  • Swift 4.2, tag “swift4.2”
  • Swift 4.1, tag “swift4.1”
  • Swift 4.0, tag “swift4.0”

Usage

Standard Style Example

make custom style

  1. import UIKit
  2. import ButtonStyleKit
  3. final class SampleButtonStandardStyle: ButtonStyleStandardBase {
  4. private let buttonStyle = ButtonStyleBuilder()
  5. final override func initializedTrigger() {
  6. let blue = UIColor(red: 0.0/255.0, green: 122.0/255.0, blue: 255.0/255.0, alpha: 1.0)
  7. let white = UIColor.white
  8. let orange = UIColor.orange
  9. let lightGray = UIColor.lightGray
  10. let whiteImage = buttonStyle.createViewToImage(color: white)
  11. /*---------- Common Settings ----------*/
  12. buttonStyle
  13. .setButton(self)
  14. .setState(.all)
  15. .setFont(UIFont.systemFont(ofSize: 16))
  16. .setCornerRadius(8.0)
  17. .setBorderWidth(1.0)
  18. .setClipsToBounds(true)
  19. .setExclusiveTouch(true)
  20. .build()
  21. /*---------- For State Settings ----------*/
  22. buttonStyle
  23. .setState(.normal)
  24. .setTitle("normal")
  25. .setTitleColor(blue)
  26. .setBackgroundImage(whiteImage!)
  27. .setBorderColor(blue)
  28. .build()
  29. buttonStyle
  30. .setState(.highlighted)
  31. .setTitle("highlighted")
  32. .setTitleColor(orange)
  33. .setBackgroundImage(whiteImage!)
  34. .setBorderColor(orange)
  35. .build()
  36. buttonStyle
  37. .setState(.disabled)
  38. .setTitle("disabled")
  39. .setTitleColor(lightGray)
  40. .setBackgroundImage(whiteImage!)
  41. .setBorderColor(lightGray)
  42. .build()
  43. buttonStyle.apply()
  44. }
  45. final override var currentState: ButtonStyleKit.ButtonState {
  46. didSet {
  47. buttonStyle.apply()
  48. }
  49. }
  50. }

storyboard settings

  • set Button Type “Custom”
  • set Custom Class “SampleButtonStandardStyle”

use viewcontroller

  1. import ButtonStyleKit
  2. class ViewController: UIViewController {
  3. @IBOutlet weak var button: SampleButtonStandardStyle!
  4. ~~~
  5. button.setClickHandler { sender in
  6. print("clicked tag: \(sender.tag)")
  7. }

For more information, please refer to the sample project

License

ButtonStyleKit is released under the MIT license. See LICENSE for details.

Author

Yukihiko Kagiyama (keygx) https://twitter.com/keygx