LNTools_fyh
库的结构: LNTools_fyh 为主库,下属有 N 个子库
- LNImageBrowser:图片浏览器,类似于 QQ 空间的图片点击浏览,基于 KSPhotoBrowser 的二次封装
- LNRefresh:上拉加载下拉刷新,基于 MJRefresh 的二次封装
- LNViewExtension:常用的 UI 类的一些扩展。
- LNProgressHUD:加载框,基于 MBProgressHUD 的封装
示例
要运行示例项目,请克隆仓库,然后从 Example 目录运行 pod install
安装
如果只需使用其中一个
pod 'LNTools_fyh/LNImageBrowser'
pod 'LNTools_fyh/LNProgressHUD'
pod 'LNTools_fyh/LNRefresh'
pod 'LNTools_fyh/LNViewExtension'
如果使用了所有功能,就直接使用:
pod 'LNTools_fyh'
调用
1.LNImageBrowser:
在调用图片浏览器时,首先需要遵守一个协议:LNImageBrowserProtocol,遵守协议后还需要实现一个变量 ln_imageViewsContainer,在其 get 方法中返回你想要展示的图片的 imageView 的父视图,注意,一定要是 imageView 的父视图。例如,在变量名为 showView 的 view 上添加了五个 imageView,你想点击其中一个图片进入浏览所有图片。可以这样做
class TestVc: UIViewController, LNImageBrowserProtocol {
var ln_imageViewsContainer: UIView {
return showView
}
}
完成之后,每次点击图片就会进入浏览模式
还有两个可选方法,用于长按图片后的可选操作。
- 该方法返回值两个,defult 是默认模式,只有一个保存图片,custom 是自定义了
@objc public enum LNLongpressMode : Int {
case defult = 0
case coustom
}
func ln_browserLongpressStyle() -> LNLongpressMode
2.基于第一个方法选择的custom,可在第二个方法里面进行操作
func ln_browser(browser:UIViewController, didLongpressedAt index:NSInteger, with image:UIImage)
2.LNProgressHUD
这是一个对UIViewcontroller的扩展,引入之后可以在控制器中直接使用:
self.ly_showTextHub(text: "ok")
func ly_showTextHub(text: String?, autoHideDelay: TimeInterval = 0) -> Void {
DispatchQueue.ly_mbph_runInMain {
self.lyHud.textHud(text: text)
self.view.addSubview(self.lyHud)
self.lyHud.progress = 0.5
self.lyHud.show(animated: true, autoHideDelay: autoHideDelay)
}
}
func ly_showSuccessHud(text: String?, autoHideDelay: TimeInterval = 0) -> Void {
DispatchQueue.ly_mbph_runInMain {
self.lyHud.successHud(text: text)
self.view.addSubview(self.lyHud)
self.lyHud.isUserInteractionEnabled = false
self.lyHud.show(animated: true, autoHideDelay: autoHideDelay)
}
}
func ly_showFailureHud(text: String?, autoHideDelay: TimeInterval = 0) -> Void {
DispatchQueue.ly_mbph_runInMain {
self.lyHud.failureHud(text: text)
self.view.addSubview(self.lyHud)
self.lyHud.show(animated: true, autoHideDelay: autoHideDelay)
}
}
func ly_hideHud(afterDelay delay: TimeInterval = 0) -> Void {
DispatchQueue.ly_mbph_runInMain {
self.lyHud.hide(animated: true, afterDelay: delay)
}
}
func ly_showProgressHud(progress:CGFloat, text:String?, style:Int = 1, autoHideDelay: TimeInterval = 0) {
DispatchQueue.ly_mbph_runInMain {
self.lyHud.progressHud(proress: progress, text: text, style: style)
self.view.addSubview(self.lyHud)
self.lyHud.show(animated: true, autoHideDelay: autoHideDelay)
}
}
3.LNViewExtension
一些常用的UI类的扩展
Author
[email protected], 付耀辉
License
LNTools_fyh遵循MIT许可协议。更多信息请参阅LICENSE文件。