Swiftpack.co - Package - linhay/EmptyPage

title

一套应用于swift项目的空白页.可利用预置的模板快速构建空白页视图.亦可高度自定义视图搭建炫酷的交互.

EmptyPage 4.0.0 已经进入收尾阶段, 欢迎试用.


简介

app 显示列表内容时, 在某一时刻可能数据为空(等待网络请求/网络请求失败)等, 添加一个空白指示页将有效缓解用户可能造成的焦虑或混乱. 并可以帮助用户处理问题.

Features

  • ☑ [>=3.3.0] 支持全局配置.
  • ☑ 支持UICollectionView & UITableView.
  • ☑ 支持链式配置预置模板视图.
  • ☑ 支持完全自定义视图.
  • ☑ 支持更多实用与设计感的模板.

| | | | | :----------------------------------------: | :----------------------------------------: | ------------------------------------------ | | | | |

预置模板视图(纯文字/纯图片/标准)

| | | | | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | | 文字模板 | 图片模板 | 混合模板 |

要求

  • Swift 5.x
  • iOS 8+

安装

  • 使用cocoapods安装

    完全安装
    pod 'EmptyPage'
    
    不需要预置模板安装
    pod 'EmptyPage/Core'
    

使用

简单用法

In Swift:
  • 配置空白页

    let emptyView = EmptyPageView.ContentView.standard
    	.change(hspace: .button, value: 80)
    	.change(height: .button, value: 60)
    	.change(hspace: .image, value: 15)
    	.config(button: { (item) in
    		item.backgroundColor = UIColor.blue
    		item.contentEdgeInsets = UIEdgeInsets(top: 8, left: 20, bottom: 8, right: 20)
    	})
    	.set(image: UIImage(named: "empty-1002")!)
    	.set(title: "Connection failure", color: UIColor.black, font: UIFont.boldSystemFont(ofSize: 24))
    	.set(text: "Something has gone wrong with the internet connection. Let's give it another shot.", color: UIColor.black, font: UIFont.systemFont(ofSize: 15))
    	.set(buttonTitle: "TRY AGAIN")
    	.set(tap: {
    	// 点击事件
    	})
    	.mix()
    
  • 设置空白页

    tableView.ep.setEmpty(view: emptyView)
    collectionView.ep.setEmpty(view: emptyView)
    
  • 空白页显示与切换

    如果需要切换已显示的空白页可主动触发刷新.

    tableView.ep.setEmpty(view: emptyView)
    tableView.reloadData()
    

其他

联系

linhay: is.linhay@outlook.com

License

EmptyPage is available under the Apache License. See the LICENSE file for more info.

Github

link
Stars: 73

Dependencies

Used By

Total: 0

Releases

3.3.1 - 2020-04-11 14:39:36

fix: 显示空白页时禁止ScrollView滑动

3.3.0 - 2019-09-26 12:14:34

新增:

  1. 新增全局设置空白页接口函数, 以下是相关函数示例:
/// 全局设置空白页
UIScrollView.ep.setGlobalEmpty { (_) -> UIView? in
  return EmptyPageView.Template.text.set(text: "纯文字").mix()
}

/// 全局设置[加载]空白页
UIScrollView.ep.setGlobalFirstLoading { (_) -> UIView? in
	return 
}
  1. 新增 ep.reload()函数, 用于空白页A已显示时更换空白页B而不需要使用reloadData()
 vc.tableView.ep.setEmpty(EmptyPageView.Template.text.set(text: "纯文字").mix())
 vc.tableView.ep.reload()

3.2.0 - 2019-06-03 08:38:54

add:

Add the firstLoadingView property to reloadData() for the first time, correlation functions:

  • setFirstLoading(_ view: UIView())
  • collectionView.firstLoadingView = UIView()
  • ep.setFirstLoading(view)

新增:

新增 firstLoadingView 属性, 用于第一次reloadData(), 以下是相关函数:

  • setFirstLoading(_ view: UIView())
  • collectionView.firstLoadingView = UIView()
  • ep.setFirstLoading(view)

3.1.1 - 2019-05-28 05:58:11

add:

UIScrollView().ep.emptyView { set get }

3.1.0 - 2019-04-23 06:27:16

Support swift 5.0 🎉 🎉 🎉

Name modification:

tableView.setEmpty(_:) => tableView.ep.setEmpty(_:) tableView.setEmpty(_:) is marked as deprecated

Add:

EmptyPageTemplateProtocol: Used to customize the template view. (Can refer to the built-in template view)

2.0.1 - 2018-12-24 11:09:13

修复: 模板视图执行 func set(image: UIImage?) 时约束问题. 修改: 模板配置函数现不会提示返回值未使用. 添加: demo 约束示例控制器.

2.0.0 - 2018-10-17 06:33:21

  • 移除xib

  • 支持 预置模板视图 更多约束调整

  • 支持 预置模板视图 链式配置

  • 支持 预置模板视图 更多视图配置

  • 预置模板视图 配置函数统一为

    • func config: 可直接修改控件属性

    • func set: 快速配置模板

    • func change: 约束调整

1.2.9.1 - 2018-06-08 10:23:32

修复无法移除emptyView的问题

1.2.7 - 2018-01-19 06:48:40

添加禁止滑动

1.2.6 - 2018-01-19 03:37:47

空白页frame现在适配约束变化.

1.2.3 - 2018-01-18 10:03:50

支持delete/insert等操作 fix: dataSource 设置过晚无法刷新.

1.2.0 - 2018-01-14 16:33:46

  • 默认样式添加了更多参数用于修改
  • 添加了大量的接口文档注释
  • 提供了更加全面的Demo

1.1.0 - 2018-01-11 13:56:06

新增3套用的占位图样式

1.0.0 - 2018-01-10 06:39:23

支持tableView空白页设置 支持collectionView空白页设置