MediaBrowser 2.3.0

MediaBrowser 2.3.0

测试已被测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2019年3月
SPM支持 SPM

[younatics]Urtaq 维护。



 
依赖
SDWebImage>= 0
UICircularProgressRing>= 0
 


title

License: MIT Swift iOS 8.1+ travis CocoaPods CocoaDocs Carthage ReadMe-KR

简介

🏞 MediaBrowser 可以通过提供 UIImage 对象、PHAsset 对象或指向图库资源、网络图片/视频或本地文件的 URL 来显示一个或多个图片或视频。MediaBrowser 可以无缝地处理从网络上下载和缓存照片。可以对照片进行缩放和左右滑动,还可以显示可定制的标题(可选)。这也可以用于使用网格视图或主图片视图允许用户选择一个或多个图片。

此外,MediaBrowser 使用最新的 SDWebImage 版本进行缓存,受 MWPhotoBrowser 启发

单个照片 多个照片和视频
SinglePhoto MultiplePhotosAndVideo
多个照片网格 多个照片选择
MultiplePhotoGrid PhotoSelection
网络照片 网络照片网格
WebPhotos WebPhotoGrid

要求

MediaBrowser 用 Swift 5.0 编写,与 iOS 8.0+ 兼容

用法

基本

获取 MediaBrowser 并设置 MediaBrowserDelegate

let browser = MediaBrowser(delegate: self)
self.navigationController?.pushViewController(browser, animated: true)

//MediaBrowserDelegate
func numberOfMedia(in mediaBrowser: MediaBrowser) -> Int {
  return mediaArray.count
}
    
func media(for mediaBrowser: MediaBrowser, at index: Int) -> Media {
  if index < mediaArray.count {
    return mediaArray[index]
  }
  return DemoData.localMediaPhoto(imageName: "MotionBookIcon", caption: "Photo at index is Wrong")
}

高级

CocoaDocs 是开始的最佳地方!

您还可以在演示项目中查看所有用法。

属性 类型
navigationBarTranslucent Bool
navigationBarTextColor UIColor
navigationBarTintColor UIColor
statusBarStyle UIStatusBarStyle
toolbarTextColor UIColor
toolbarBarTintColor UIColor
toolbarBackgroundColor UIColor
hasBelongedToViewController Bool
isVCBasedStatusBarAppearance Bool
statusBarShouldBeHidden Bool
displayActionButton Bool
leaveStatusBarAlone Bool
performingLayout Bool
rotating Bool
viewIsActive Bool
didSavePreviousStateOfNavBar Bool
skipNextPagingScrollViewPositioning Bool
viewHasAppearedInitially Bool
currentGridContentOffset CGPoint
zoomPhotosToFill Bool
displayMediaNavigationArrows Bool
displaySelectionButtons Bool
alwaysShowControls Bool
enableGrid Bool
enableSwipeToDismiss Bool
startOnGrid Bool
autoPlayOnAppear Bool
hideControlsOnStartup Bool
delayToHideElements TimeInterval
captionAlpha CGFloat
toolbarAlpha CGFloat
loadingIndicatorInnerRingColor UIColor
loadingIndicatorOuterRingColor UIColor
loadingIndicatorInnerRingWidth CGFloat
loadingIndicatorOuterRingWidth CGFloat
loadingIndicatorFont UIFont
loadingIndicatorFontColor UIColor
loadingIndicatorShouldShowValueText Bool
mediaSelectedOnIcon UIImage?
mediaSelectedOffIcon UIImage?
mediaSelectedGridOnIcon UIImage?
mediaSelectedGridOffIcon UIImage?
preCachingEnabled Bool
cachingImageCount Int
placeholderImage (image: UIImage, isAppliedForAll: Bool)?
方法 说明
setCurrentIndex(at index: Int) 在开始时设置当前的索引路径。也建议在 preCachingEnabled 之前设置第一个。
委托 说明
func numberOfMedia(in mediaBrowser: MediaBrowser) -> Int 使用 MediaBrowser 所需的协议。返回媒体数量
func media(for mediaBrowser: MediaBrowser, at index: Int) -> Media 使用 MediaBrowser 所需的协议。返回媒体
func mediaBrowserDidFinishModalPresentation(mediaBrowser: MediaBrowser) 可选协议,用于 MediaBrowser 完成模态表示
func thumbnail(for mediaBrowser: MediaBrowser, at index: Int) -> Media 可选协议,用于显示缩略图。返回媒体。建议使用较小的大小
func captionView(for mediaBrowser: MediaBrowser, at index: Int) -> MediaCaptionView? 可选协议,用于显示 captionView。返回 MediaCaptionView。
func didDisplayMedia(at index: Int, in mediaBrowser: MediaBrowser) 可选协议,当需要回调时
func actionButtonPressed(at photoIndex: Int, in mediaBrowser: MediaBrowser) 可选协议,当需要关于动作按钮的回调时
func isMediaSelected(at index: Int, in mediaBrowser: MediaBrowser) -> Bool 可选协议,当需要 about isMediaSelected 的回调
func mediaDid(selected: Bool, at index: Int, in mediaBrowser: MediaBrowser) 在需要回调媒体选择时的可选协议
func title(for mediaBrowser: MediaBrowser, at index: Int) -> String? 标题的可选协议

安装

Cocoapods

pod 'MediaBrowser'

Carthage

github "younatics/MediaBrowser"

参考

如果您在使用此库的应用程序中,请告诉我或创建一个pull request :)

更新

查看变更日志详细信息

作者

younatics Twitter

许可证

MediaBrowser 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。