XMSegmentedControl 0.1.4

XMSegmentedControl 0.1.4

测试已测试
Lang语言 SwiftSwift
许可证 MIT
释放最新版本2015年12月
SPM支持 SPM

Xavier Merino 维护。




  • xaviermerino

概述

XMSegmentedControl 是一个可定制的分段控件。它允许使用文本、图标或图标和文本的组合作为分段。

Screenshot

需求

  • iOS 8+

安装

您可以通过将 XMSegmentedControl.swift 复制到您的项目工作空间中来手动安装 XMSegmentedControl。

XMSegmentedControl 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "XMSegmentedControl"

使用方法

  • 将 XMSegmentedControl 导入您的项目中。
import XMSegmentedControl
  • 使用 Storyboard 并拖动一个 UIView。
  • 选择视图,然后在类别下选择 Identity Inspector 中的 XMSegmentedControl
  • 通过实现 func xmSegmentedControl(xmSegmentedControl: XMSegmentedControl, selectedSegment: Int) 来符合 XMSegmentedControlDelegate 协议,以接收关于哪个分段被选中的通知。
func xmSegmentedControl(xmSegmentedControl: XMSegmentedControl, selectedSegment: Int) {
print("SegmentedControl Selected Segment: \(selectedSegment)")
}

或者,从代码创建一个 XMSegmentedControl。

仅文本分段控件

以下示例创建了一个仅文本的分段控件。

let segmentedControl3 = XMSegmentedControl(frame: CGRect(x: 0, y: 164, width: self.view.frame.width, height: 44), segmentTitle: ["Hello", "World", "Three"], selectedItemHighlightStyle: XMSelectedItemHighlightStyle.TopEdge)

segmentedControl3.backgroundColor = UIColor(red: 22/255, green: 150/255, blue: 122/255, alpha: 1)
segmentedControl3.highlightColor = UIColor(red: 25/255, green: 180/255, blue: 145/255, alpha: 1)
segmentedControl3.tint = UIColor.whiteColor()
segmentedControl3.highlightTint = UIColor.blackColor()

self.view.addSubview(segmentedControl3)

TextOnly

仅图标分段控件

以下示例创建了一个仅图标的分段控件。

let icons1:[UIImage] = [UIImage(named: "icon1")!, UIImage(named: "icon2")!, UIImage(named: "icon3")!, UIImage(named: "icon4")!, UIImage(named: "icon5")!, UIImage(named: "icon6")!]

let segmentedControl4 = XMSegmentedControl(frame: CGRect(x: 0, y: 214, width: self.view.frame.width, height: 44), segmentIcon: icons1, selectedItemHighlightStyle: XMSelectedItemHighlightStyle.Background)

segmentedControl4.backgroundColor = UIColor(red: 128/255, green: 59/255, blue: 159/255, alpha: 1)
segmentedControl4.highlightColor = UIColor(red: 144/255, green: 79/255, blue: 173/255, alpha: 1)
segmentedControl4.tint = UIColor.whiteColor()

self.view.addSubview(segmentedControl4)

IconOnly

图标 + 文本分段控件

以下示例创建了一个图标 + 文本的分段控件。

let backgroundColor = UIColor(red: 205/255, green: 74/255, blue: 1/255, alpha: 1)
let highlightColor = UIColor(red: 226/255, green: 114/255, blue: 31/255, alpha: 1)

let titles = ["Hello", "World", "Two"]
let icons = [UIImage(named: "icon1")!, UIImage(named: "icon2")!, UIImage(named: "icon3")!]
let frame = CGRect(x: 0, y: 114, width: self.view.frame.width, height: 44)

let segmentedControl2 = XMSegmentedControl(frame: frame, segmentContent: (titles, icons), selectedItemHighlightStyle: XMSelectedItemHighlightStyle.BottomEdge)

segmentedControl2.backgroundColor = backgroundColor
segmentedControl2.highlightColor = highlightColor
segmentedControl2.tint = UIColor.whiteColor()
segmentedControl2.highlightTint = UIColor.blackColor()

self.view.addSubview(segmentedControl2)

IconText

有关更多示例,请查看提供的示例项目。

示例项目

要运行示例项目,请首先从示例目录克隆仓库,然后从示例目录运行 pod install。示例项目中的图标由 http://icons8.com 提供。

作者

Xavier Merino,[email protected]

许可证

XMSegmentedControl 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。