ZZImageSlider
ZZImageSlider
是一个使用 Swift 编写的易于使用、可定制的图片轮播组件。
特性
- 水平或垂直模式
- 自定义图片加载方法
- 可配置属性
- 支持从右到左
示例
水平 | 垂直 |
---|---|
![]() |
![]() |
要求
- iOS 10.0+
- Xcode 8+
使用方法
let slider = ZZImageSlider(frame: CGRect(x: 16, y: 100, width: view.bounds.width - 32.0, height: 450))
//or @IBOutlet private weak var slider: ZZImageSlider!
view.addSubview(control)
let items: [ZZSliderItem] =
[
UIImageSliderItem(image: UIImage(named: "1.jpg")!, text: "Gorgan\nby Asal Lotfi"),
BundleSliderItem(imageName: "2.jpg", text: "Astara\nby Moeen Zamani"),
BundleSliderItem(imageName: "3.jpg", text: "Karaj\nby Majid Hajiloo"),
BundleSliderItem(imageName: "4.jpg", text: nil),
]
您可以通过几种方式采用 ZZSliderItem
,如 UIImageSliderItem
或 BundleSliderItem
,只需将您的喜爱的图片加载类适配到 ZZSliderItem
即可。
配置
属性 | 描述 | 默认值 |
---|---|---|
slideDuration | 每个项目的显示时间 | 5.0 |
sliderAxis | 滑动器轴 | 水平 |
imageView.contentMode | imageView中展示的图片的内容模式 | scaleAspectFill |
imageView.emptyBackgroundColor | imageView背景颜色的内容模式 | 浅灰色 |
imageView.textBackgroundStyle | 幻灯片文字标签的背景(纯色或渐变) | .gradient(colors: [UIColor.black.withAlphaComponent(0), UIColor.black.withAlphaComponent(0.45)]) |
imageView.font | 幻灯片文字标签的字体 | UIFont.preferredFont(forTextStyle: .body) |
imageView.textColor | 幻灯片文字标签的文字颜色 | 白色 |
imageView.cornerRadius | imageView的圆角半径 | 20 |
Items.emptyBackgroundColor | 每个幻灯片项目的背景颜色 | 浅灰色 |
Items.edgeInsets | slide items stackView的内边距 | UIEdgeInsets(top: 8, left: 8, bottom: -8, right: -8) |
Items.spacing | 每个幻灯片项目之间的空间(stackView.spacing) | 16 |
Items.cornerRadius | 每个幻灯片项目的圆角半径 | 8 |
Items.sizePercent | items stackView的大小百分比(当滑动器为水平时表示高度,否则为宽度) | 0.2 |
Items.selectionStyle | 选中幻灯片项的样式(边框或无) | 无 |
如何配置滑动器
let verticalConfs: ZZSliderConfigs = {
var confs = ZZSliderConfigs()
confs.sliderAxis = .vertical
confs.items.edgeInsets.top = 16
confs.items.edgeInsets.bottom = -16
confs.items.cornerRadius = 10
confs.items.sizePercent = 0.1
confs.items.selectionStyle = .none
confs.imageView.font = UIFont.systemFont(ofSize: 25, weight: .bold)
confs.imageView.textBackgroundStyle = .gradient(colors: [
UIColor.black.withAlphaComponent(0),
UIColor.black.withAlphaComponent(0.67)
])
return confs
}()
vSlider.configs = verticalConfs
代表
public protocol ZZImageSliderDelegate: class {
func didSlideTo(item: ZZSliderItem, index: Int)
func didSelectSlide(item: ZZSliderItem, index: Int)
}
要运行示例项目,首先克隆仓库,然后在示例目录中运行 pod install
。
贡献
请随时提交拉取请求或发送您的反馈和建议!
作者
Masoud Sheikh Hosseini
许可协议
ZZImageSlider 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件。