KDSegmentedControl 1.4

KDSegmentedControl 1.4

kedardesai88 维护。



  • 作者
  • Kedar Desai

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文件。