MAC分段控件
一个可高度定制的iOS Segmented Control控件。以下示例可以让你了解如何进行定制。所有的这些定制都可以在任何渲染控件之前的地方编写。最理想的地方是:didSet block
。
与 Cocoapods 集成
整合最新版本
pod 'MASegmentedControl'
整合特定版本
pods 'MASegmentedControl', '~> 0.0.3'
与 Carthage 集成
集成最新版本
github "alokc83/MASegmentedControl"
集成指定版本
github "alokc83/MASegmentedControl" ~> 0.0.3
圆形扇段
您需要提供图像数组,该数组可以是图像字面量的数组或UIImage数组。
imagesSegmentedControl.fillEqually = false
imagesSegmentedControl.buttonsWithDynamicImages = true
imagesSegmentedControl.roundedControl = true
// images is the array of image litrals
imagesSegmentedControl.setSegmentedWith(items: images)
imagesSegmentedControl.padding = 2
imagesSegmentedControl.thumbViewColor = #colorLiteral(red: 0.9372549057,
green: 0.3490196168,
blue: 0.1921568662,
alpha: 1)
带边角的圆形扇段
didSet {
//Set this booleans to adapt control
textSegmentedControl.itemsWithText = true
textSegmentedControl.fillEqually = true
textSegmentedControl.roundedControl = true
textSegmentedControl.setSegmentedWith(items: ["Option 1", "Option2"])
textSegmentedControl.padding = 2
textSegmentedControl.textColor = #colorLiteral(red: 0.2549019754,
green: 0.2745098174,
blue: 0.3019607961,
alpha: 1)
textSegmentedControl.selectedTextColor = #colorLiteral(red: 1,
green: 1,
blue: 1,
alpha: 1)
textSegmentedControl.thumbViewColor = #colorLiteral(red: 0,
green: 0.4784313725,
blue: 1,
alpha: 1)
textSegmentedControl.titlesFont = UIFont(name: "OpenSans-Semibold", size: 14)
}
带图像的正方形设计
didSet {
//Set this booleans to adapt control
iconsSegmentedControl.itemsWithText = false
iconsSegmentedControl.fillEqually = false
iconsSegmentedControl.roundedControl = false
// icons is the array of image litrals
iconsSegmentedControl.setSegmentedWith(items: icons)
iconsSegmentedControl.padding = 2
iconsSegmentedControl.thumbViewColor = #colorLiteral(red: 0.9529411793, green: 0.6862745285, blue: 0.1333333403, alpha: 1)
iconsSegmentedControl.buttonColorForNormal = #colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
iconsSegmentedControl.buttonColorForSelected = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
}
正方形文本设计
didSet {
//Set this booleans to adapt control
textSquareSegmentedControl.itemsWithText = true
textSquareSegmentedControl.fillEqually = true
let strings = ContentDataSource.textItems()
textSquareSegmentedControl.setSegmentedWith(items: strings)
textSquareSegmentedControl.padding = 2
textSquareSegmentedControl.textColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)
textSquareSegmentedControl.selectedTextColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
textSquareSegmentedControl.thumbViewColor = #colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)
}
YouTube风格设计
didSet {
//Set this booleans to adapt control
youtubeLikeSegmentedControl.itemsWithText = false
youtubeLikeSegmentedControl.bottomLineThumbView = true
youtubeLikeSegmentedControl.fillEqually = true
// icons is the array of image litrals
youtubeLikeSegmentedControl.setSegmentedWith(items: icons)
youtubeLikeSegmentedControl.padding = 2
youtubeLikeSegmentedControl.thumbViewColor = #colorLiteral(red: 0.9411764706, green: 0.2549019608, blue: 0.2020437331, alpha: 1)
youtubeLikeSegmentedControl.buttonColorForNormal = #colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
youtubeLikeSegmentedControl.buttonColorForSelected = #colorLiteral(red: 0.9411764706, green: 0.2549019608, blue: 0.2020437331, alpha: 1)
}
简单文本高亮设计
didSet {
//Set this booleans to adapt control
hiddenThumbViewSegmentedControl.itemsWithText = true
hiddenThumbViewSegmentedControl.fillEqually = true
hiddenThumbViewSegmentedControl.thumbViewHidden = true
hiddenThumbViewSegmentedControl.setSegmentedWith(items: ["Option 1", "Option 2"])
hiddenThumbViewSegmentedControl.padding = 2
hiddenThumbViewSegmentedControl.textColor = #colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
hiddenThumbViewSegmentedControl.selectedTextColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)
}
简单文本高亮加下划线设计
didSet {
//Set this booleans to adapt control
linearThumbViewSegmentedControl.itemsWithText = true
linearThumbViewSegmentedControl.fillEqually = true
linearThumbViewSegmentedControl.bottomLineThumbView = true
linearThumbViewSegmentedControl.setSegmentedWith(items: ["Option 1", "Option 2", "Option 3"])
linearThumbViewSegmentedControl.padding = 2
linearThumbViewSegmentedControl.textColor = #colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
linearThumbViewSegmentedControl.selectedTextColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)
linearThumbViewSegmentedControl.thumbViewColor = #colorLiteral(red: 0.9372549057, green: 0.3490196168, blue: 0.1921568662, alpha: 1)
}