3lvis Viewer Versions Save

Image viewer (or Lightbox) with support for local and remote videos and images

2.2.2

7 years ago
  • Only reset video controls if playing didn't fail

2.2.1

7 years ago

Improve video playing errors

2.2.0

7 years ago
  • Fix video progress not supporting hours
  • Added video seeking
  • Fixes video not resizing properly when rotating

2.1.1

7 years ago
  • Restrict zooming to images

2.1.0

7 years ago

2.0.1

7 years ago

Removes the need for having an ID.

This is not a breaking change, if you have ID and it's not used the library won't require you changes and everything will work as before.

2.0.0

7 years ago

? Adds ?

public func reload(at indexPath: IndexPath)

ViewerControllerDelegate

func viewerController(_ viewerController: ViewerController, didFailPlayingVideoAt indexPath: IndexPath, error: NSError)

⚠️ Breaking changes ⚠️

Viewable

Before

public enum ViewerItemType: String {
    case image
    case video
}

public protocol ViewerItem {
    var type: ViewerItemType { get }
    var id: String { get }
    var assetID: String? { get }
    var url: String? { get }
    var placeholder: UIImage { get set }

    func media(_ completion: @escaping (_ image: UIImage?, _ error: NSError?) -> ())
}

After

public enum ViewableType: String {
    case image
    case video
}

public protocol Viewable {
    var type: ViewableType { get }
    var id: String { get }
    var assetID: String? { get }
    var url: String? { get }
    var placeholder: UIImage { get }

    func media(_ completion: @escaping (_ image: UIImage?, _ error: NSError?) -> ())
}

ViewerControllerDataSource

// Before
func viewerController(_ viewerController: ViewerController, itemAtIndexPath indexPath: IndexPath) -> ViewerItem

// After
func viewerController(_ viewerController: ViewerController, viewableAt indexPath: IndexPath) -> Viewable

ViewerControllerDelegate

// Before
func viewerController(_ viewerController: ViewerController, didChangeIndexPath indexPath: IndexPath)

// After
func viewerController(_ viewerController: ViewerController, didChangeFocusTo indexPath: IndexPath)

1.1.2

7 years ago

1.1.1

7 years ago
  • Fix remote video not playing

1.1.0

7 years ago

ViewerController now includes a flag to enable or disable autoplaying videos. By default is false.

self.viewerController.autoplayVideos = true