LightboxV2 2.5.5

LightboxV2 2.5.5

Isuru Ranasinghe 维护。



  • Isuru Ranasinghe

Lightbox

CI Status Carthage Compatible License Platform Swift

Lightbox Icon

Lightbox 是一个方便且易于使用的 iOS 应用程序图像查看器。已更新至 Swift 5.0。归功于原始开发者 Hyper Interaktiv AS。

  • 分页图像幻灯片。
  • 视频支持。
  • 双击缩放。
  • 图像标题。
  • 基于 Hue 的动态背景。
  • 基于 AlamofireImage 的远程图像加载和缓存。
  • 交互式过渡动画。
  • 强大的配置。
  • 支持 Swift 5.0。
  • 图像删除支持。
  • 实时演示

目录

使用

控制器

要开始您的幻灯片,请实例化 LightboxController,设置所需的委托,然后显示它

// Create an array of images.
let images = [
  LightboxImage(imageURL: URL(string: "https://cdn.arstechnica.net/2011/10/05/iphone4s_sample_apple-4e8c706-intro.jpg")!),
  LightboxImage(
    image: UIImage(named: "photo1")!,
    text: "This is an example of a remote image loaded from URL"
  ),
  LightboxImage(
    image: UIImage(named: "photo2")!,
    text: "",
    videoURL: URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
  ),
  LightboxImage(
    image: UIImage(named: "photo3")!,
    text: "This is an example of a local image."
  )
]

// Create an instance of LightboxController.
let controller = LightboxController(images: images)

// Set delegates.
controller.pageDelegate = self
controller.dismissalDelegate = self

// Use dynamic background.
controller.dynamicBackground = true

// Present your controller.
present(controller, animated: true, completion: nil)

代表

如果您想接收页面导航变化的通知,请使用 LightboxControllerPageDelegate

extension ViewController: LightboxControllerPageDelegate {

  func lightboxController(_ controller: LightboxController, didMoveToPage page: Int) {
    print(page)
  }
}

使用 LightboxControllerDismissalDelegate 来接收当控制器即将被关闭的通知。请注意,如果 LightboxController 是首次呈现的,它将自动关闭自己。

extension ViewController: LightboxControllerDismissalDelegate: class {

  func lightboxControllerWillDismiss(_ controller: LightboxController) {
    // ...
  }
}

图片加载

默认情况下,使用 AlamofireImage 加载图片以保证可靠性和缓存。但您可以通过 LightboxConfig 来轻松改变这种行为。

LightboxConfig.loadImage = {
  imageView, URL, completion in
  // Custom image loading
}

视频

Lightbox 可以通过默认的 AVPlayerViewController 展示和播放视频。使用 videoURL 显示视频。

LightboxImage(
  image: UIImage(named: "photo2")!,
  text: "",
  videoURL: NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
)

如果需要,可以重写视频处理。

LightboxConfig.handleVideo = { from, videoURL in
  // Custom video handling
  let videoController = AVPlayerViewController()
  videoController.player = AVPlayer(url: videoURL)

  from.present(videoController, animated: true) {
    videoController.player?.play()
  }
}

配置

通过覆盖 Lightbox 中的 配置 结构体中的静态变量,配置 UI 元素的文本、颜色和字体。例如:

LightboxConfig.CloseButton.image = UIImage(named: ImageList.Lightbox.closeButton)
LightboxConfig.CloseButton.textAttributes = TextAttributes.Lightbox.closeButton
LightboxConfig.CloseButton.text = "Finish"

LightboxConfig.DeleteButton.image = UIImage(named: ImageList.Lightbox.deleteButton)
LightboxConfig.DeleteButton.textAttributes = TextAttributes.Lightbox.deleteButton
LightboxConfig.DeleteButton.text = "Delete"

LightboxConfig.InfoLabel.ellipsisText = "Show more"

安装

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

pod 'LightboxV2'

手动安装 Lightbox,只需下载并将 SourcesImages 文件夹拖放到您的项目中。

作者

Hyper Interaktiv AS, [email protected], Isuru Ranasinghe ,[email protected]

贡献

我们希望您能为《Lightbox》做出贡献,有关详细信息,请参阅贡献指南文件。

许可协议

Lightbox 以MIT许可协议提供。有关详细信息,请参阅许可协议文件