KDSegmentedControl
关于
kedardesai 为 iOS swift 4.0 及以上版本创建的可定制的分段控制。
特性
- 可变数量项
- 可配置
- 可在 Interface Builder 中设计
需求
- iOS 10.0
- swift 4.0
安装
CocoaPods
pod 'KDSegmentedControl'
手册
将 KDSegmentedControl.swift 文件添加到您的项目中。
使用
编程方式
let segmentControl: KDSegmentedControl = KDSegmentedControl(frame: CGRect(x: 20.0, y: 100.0, width: view.bounds.width - 40.0, height: 50.0))
segmentControl.items = ["Item 1", "Item 2", "Item 3"]
segmentControl.dropShadow = true // set it false if you dont want the shadow for selected thumb view.
segmentControl.thumbColor = .green
segmentControl.cornerRadius = 10.0
segmentControl.selectedIndex = -1 // -1 in case if you dont want to select any index.
segmentControl.backgroundColor = .lightGray
segmentControl.delegate = self
view.addSubview(segmentControl)
接口构建器
从接口构建器中添加一个 UIView,并将其类设置为 KDSegmentedControl。您可以直接从接口构建器自定义控件。
属性
selectedIndex
将 selectedIndex 设置为 -1,它会取消选择分段控件中的所有项目。默认值为 0。
segmentControl.selectedIndex = -1
defaultTextFont
这定义了分段控件项目的默认字体。默认值是 UIFont.systemFont(ofSize: 12.0)
segmentControl.defaultTextFont = <font> // set any UIFont.
selectedTextFont
这定义了分段控件中被选段的文本字体。默认值是 UIFont.systemFont(ofSize: 12.0)
segmentControl.selectedTextFont = <font> // set any UIFont.
defaultTextColor
这定义了分段控件项目文本的颜色。默认值是 UIColor.black
segmentControl.defaultTextColor = <color> // set any UIColor.
selectedTextColor
这定义了分段控件中被选段的文本颜色。默认值是 UIColor.white
segmentControl.selectedTextColor = <color> // set any UIColor.
thumbColor
这定义了分段控件中被选段的覆盖颜色。默认值是 UIColor.clear。
segmentControl.thumbColor = <color> // set any UIColor.
thumbShadowColor
这定义了分段控件中被选段的覆盖阴影颜色。默认值是 UIColor(red: 155.0/255.0, green: 155.0/255.0, blue: 155.0/255.0, alpha: 1.0)
segmentControl.thumbShadowColor = <color> // set any UIColor.
阴影效果
此属性可用来为拇指视图添加阴影。默认值是真。如果您将其设置为假,则不会为拇指视图(选定段落的叠加视图)显示阴影。
segmentControl.dropShadow = false
圆角半径
此属性用于定义分段控件以及拇指视图的圆角半径。目前,您无法为分段控件和拇指视图设置不同的圆角半径。默认值为0。
segmentControl.cornerRadius = 10.0
边框颜色
此属性定义了分段控件的边框颜色。与cornerRadius不同,它不应用于拇指视图。默认值为UIColor.white。
segmentControl.borderColor = .black
边框宽度
此属性定义了分段控件的边框宽度。默认值为0.0。
segmentControl.borderWidth = 1.0
内边距
此属性定义了分段控件与拇指视图之间的内边距。默认值为5.0。
segmentControl.padding = 0.0
项
这定义了分段控制中的项目数组。
segmentControl.items = ["Male", "Female", "Other"]
委托
可用的方法
目前,委托只有一个方法会在用户选择分段控制时被调用。
func didSelectItem(atIndex index: Int, item: String)
如何设置委托
首先在你的类中导入 KDSegmentedControlDelegate。
class ViewController: UIViewController, KDSegmentedControlDelegate {
}
然后只需使用分段控制的委托属性。
segmentControl.delegate = self
如何实现委托方法
func didSelectItem(atIndex index: Int, item: String) {
print("didSelectItem(atIndex index: \(index), item: \(item)")
}
贡献
你可以帮助我们改进这个控件。如果你有任何建议或任何问题,请在github上创建一个问题,我们将在24小时内尝试回答。你也可以通过以下电子邮件联系我们:[email protected]。
协议
KDSegmentedControl是MIT许可下可用的。有关更多信息,请参阅LICENSE文件。