ZZImageSlider 0.1.0

ZZImageSlider 0.1.0

zzmasoud 维护。




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,如 UIImageSliderItemBundleSliderItem,只需将您的喜爱的图片加载类适配到 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 文件。