SSegmentControl 0.1.1

SSegmentControl 0.1.1

Alexander Korus维护。



  • alexanderkorus

SSegmentControl

CI Status Version License Platform

专为自定义UIView Segments设计的简单SegmentControl。段可以被传递为UIView,因此对单个段没有UI限制。

示例

要运行示例项目,首先克隆仓库,然后从Example目录中首先运行pod install

Preview

要求

  • 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文件中查看更多信息。