PinterestSegment
一个具有遮罩动画的类似 Pinterest 的分段控制器。
需求
- iOS 8.0+
- Xcode 9.0
- Swift 4.0
安装
CocoaPods
您可以使用 CocoaPods 通过将其添加到您的 Podfile
中来安装 PinterestSegment
platform :ios, '8.0'
use_frameworks!
pod 'PinterestSegment'
为了获得全部好处,您可以在需要导入 UIKit 的地方导入 PinterestSegment
import UIKit
import PinterestSegment
Carthage
创建一个列出框架的Cartfile
文件并运行carthage update
。按照说明将$(SRCROOT)/Carthage/Build/iOS/PinterestSegment.framework
添加到iOS项目中。
github "tbxark/PinterestSegment"
手动
- 下载并将
PinterestSegment.swift
添加到项目中。 - 恭喜你了!
使用示例
let style = PinterestSegmentStyle()
style.indicatorColor = UIColor(white: 0.95, alpha: 1)
style.titleMargin: CGFloat = 15
style.titlePendingHorizontal: CGFloat = 14
style.titlePendingVertical: CGFloat = 14
style.titleFont = UIFont.boldSystemFont(ofSize: 14)
style.normalTitleColor = UIColor.lightGray
style.selectedTitleColor = UIColor.darkGray
let segment = PinterestSegment(frame: CGRect(x: 20, y: 200, width: w - 40, height: 40), style: style, titles: ["Everything", "Geek", "Humor", "Art", "Food", "Home", "DIY", "Wemoent' Style", "Man's Style", "Beauty", "Travel"])
segment.valueChange = { index in
// Do something here
}
您还可以为每个标题添加图标,就像下面的.gif演示一样。
@IBOutlet weak var ibSegment: PinterestSegment!
var titles = [PinterestSegment.TitleElement]()
for i in 1...7 {
guard let image = UIImage(named: "icon_\(i)"),
let selectedImage = image.maskWithColor(color: ibSegment.style.selectedTitleColor),
let normalImage = image.maskWithColor(color: ibSegment.style.normalTitleColor) else { continue }
titles.append(PinterestSegment.TitleElement(title: "Face-\(i)", selectedImage: selectedImage, normalImage: normalImage))
}
ibSegment.setRichTextTitles(titles)
文章
修复PinterestSegment中的自动调整ScrollViewInsets错误 https://tbxark.com/2016/12/08/2016-12-08-Swift-Pinterst/
发布历史
-
1.2.0支持Swift 4.0
-
1.0.1修复错误
-
1.0.0首次提交
贡献
我们非常欢迎您为PinterestSegment做出贡献,请查看LICENSE
文件以获取更多信息。
元数据
TBXark – @tbxark – [email&protected]
基于MIT协议分发。更多信息请参阅LICENSE
。