SMSegmentView 1.3.1

SMSegmentView 1.3.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布Jul 2017
SwiftSwift 版本3.0
SPM支持 SPM

Si Ma 维护。



  • 作者:
  • Si Ma

SMSegmentView 描述

  • 适用于 iOS 的自定义分段控件。
  • 使用 Swift 编写。
  • 支持图片和文本。
  • 支持垂直组织分段。
  • 比 UISegmentedControl 更易于自定义,且易于扩展(例如样式)。

如何使用

步骤 1

SMSegmentView.swiftSMSegment.swift 拖入您的 Xcode 项目。

步骤 2

初始化 SMSegmentView:您可以使用 SMSegmentView(frame:) 通过默认属性初始化您的分段视图。但通常,您可能想使用 SMSegmentView(frame:, dividerColour:, dividerWidth:, segmentAppearance:) 来使其看起来更加个性化。参数 segmentAppearance: 读取 SMSegmentAppearance 实例。您可以在 SMSegmentAppearance 类中找到它支持哪些属性。

例:

let appearance = SMSegmentAppearance()
appearance.segmentOnSelectionColour = UIColor(red: 245.0/255.0, green: 174.0/255.0, blue: 63.0/255.0, alpha: 1.0)
appearance.segmentOffSelectionColour = UIColor.whiteColor()
appearance.titleOnSelectionFont = UIFont.systemFontOfSize(12.0)
appearance.titleOffSelectionFont = UIFont.systemFontOfSize(12.0)
appearance.contentVerticalMargin = 10.0

let segmentView = SMSegmentView(frame: SomeFrame, dividerColour: UIColor(white: 0.95, alpha: 0.3), dividerWidth: 1.0, segmentAppearance: appearance)

步骤 3

为 UIControlEvents.ValueChanged 添加操作,并实现动作方法。

例如:segmentView.addTarget(self, action: #selector(YourViewController.selectSegmentInSegmentView(_:)), forControlEvents: .ValueChanged)

步骤 4

将分段添加到您的分段视图中。

例:

segmentView.addSegmentWithTitle("Segment 1", onSelectionImage: UIImage(named: "target_light"), offSelectionImage: UIImage(named: "target"))
segmentView.addSegmentWithTitle("Segment 2", onSelectionImage: UIImage(named: "handbag_light"), offSelectionImage: UIImage(named: "handbag"))
segmentView.addSegmentWithTitle("Segment 3", onSelectionImage: UIImage(named: "globe_light"), offSelectionImage: UIImage(named: "globe"))

可选步骤

您可以通过将整数分配给 selectedSegmentIndex 来编程式选择/取消选择一个分段。

支持垂直模式

您可以通过将 organiseMode 设置为 .Vertical 将所有分段垂直组织起来。默认设置为 .Horizontal

例如:segmentView.organiseMode = .Vertical

更多信息

该框架附带一个示例项目,展示了如何使用它。此外,这个教程可能给您一些关于如何扩展这个框架的一些想法。

屏幕截图