SSegmentControl
专为自定义UIView Segments设计的简单SegmentControl。段可以被传递为UIView,因此对单个段没有UI限制。
示例
要运行示例项目,首先克隆仓库,然后从Example目录中首先运行pod install
要求
- Swift 5.0
- SnapKit 5.0
安装
SSegmentControl可通过CocoaPods获取。要安装它,请将以下行添加到您的Podfile中
pod 'SSegmentControl'
基本用法
// Define views to pass it as segments to segmentControl
let followerCount: CounterSegment = {
let view = CounterSegment()
view.count = 1000
view.title = "Follower"
return view
}()
let followingCount: CounterSegment = {
let view = CounterSegment()
view.count = 500
view.title = "Following"
return view
}()
let label: UILabel = {
let label: UILabel = UILabel()
label.font = UIFont.boldSystemFont(ofSize: 15.0)
label.textColor = .black
label.textAlignment = .center
label.text = "Posts"
return label
}()
// Create segmentControl and pass the created views to it.
lazy var segmentControl: SSegmentControl = {
let view: SSegmentControl = SSegmentControl(segments: [
self.label,
self.followerCount,
self.followingCount
])
// Configure appearance of segmentControl
view.selectorColor = .red
view.isShadowHidden = true
return view
}()
// Add change listener closure anywhere in your ViewController
self.segmentControl.segmentDidChanged = { index, view in
// React on changes
self.contentLabel.text = "Selected segment: \(index)"
}
其他选项
操作
segmentControl.move(to: 0) // Move segment control to passed index
监听器
segmentDidChange: (Int, UIView) -> Void // Called when segment did changed
获取器
segmentControl.selectedViewIndex // Returns index of selected view
您可以为段选择控件自定义这些属性
selectorColor
: 选择视图的颜色。默认值是UIColor.red
segmentsBackgroundColor
: 段容器视图的背景色。默认值是.white
isShadowHidden
: 表示SegmentControl是否应该投射阴影。默认值是true
作者
alexanderkorus, [email protected]
许可证
SSegmentControl适用于MIT许可证。请在LICENSE文件中查看更多信息。