Swift Extension Empty(空白页)(膳品) 一直觉得自己写的不是技术而是情怀一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的希望我的这条路能让你们少走弯路希望我能帮你们抹去知识的蒙尘希望我能帮你们理清知识的脉络希望未来技术之巅上有你们也有我。空白页的所有素材.zip下载链接Swift-Empty(空白页)代码下载文章目录说明1:如何调整所需要的素材说明2如何改代码运行GIF图片效果启动有网络有数据启动有网络无数据启动无网络无数据文件使用说明1:如何调整所需要的素材该封比较好用但是需要拿到对应尺寸的素材才好用。1.封装原本的加载动画是一个400pt * 400pt 2x的图片数组但是400 * 400整张图片里面的图像大小是100pt * 100pt, 其他页面显示出来的空白图片上是576pt * 576pt 2x无订单显示的图片wifi的图片详情空白显示的图片那么这里如果是自己准备这些素材该如何做呢如果你手上只有一个gif图片例如大小是160pt *160pt 里面图片图像是沾满整个图片需要自己先处理好素材才能够使用。首先拿到图片之后去进行拆解腾讯GIF图片在线拆解工具把图片拆解好之后使用海报工具重新组装图片的大少海报工具搞好重新到处生成图片数组之后导入到项目里面运行如果你想重新做成gif图片需要gif在线生成工具不建议这样做因为需要改代码图片数组生成GIF图片说明2如何改代码运行GIF图片Swift-Empty(空白页) 膳品GIF图片加载.zip该封装加载过程中使用图片数组代码在下面如果公司提供gif图片需要改一下导入放在下面的地方添加支持加载gif图片的代码封装Swift Extension UIImage扩展支持加载GIF动画然后调用修改下面的代码效果启动有网络有数据启动有网络无数据启动无网络无数据文件使用import UIKit class ViewController: UIViewController { private let tableView UITableView() private var data: [String] [] override func viewDidLoad() { super.viewDidLoad() setupTableView() loadData() } private func setupTableView() { view.addSubview(tableView) tableView.frame view.bounds tableView.delegate self tableView.dataSource self tableView.register(UITableViewCell.self, forCellReuseIdentifier: cell) } private func loadData() { // 模拟加载数据 tableView.reloadDataAndCheckEmpty(preset: .loading) DispatchQueue.main.asyncAfter(deadline: .now() 5.0) { self.data [] // 设置为空数组显示空状态 // self.data [Item 1, Item 2, Item 3] // 有数据时不显示空状态 self.tableView.reloadDataAndCheckEmpty(preset: .noData) } } } extension ViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) - Int { return data.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) - UITableViewCell { let cell tableView.dequeueReusableCell(withIdentifier: cell, for: indexPath) cell.textLabel?.text data[indexPath.row] return cell } } extension ViewController: EmptyDataSetDelegate { func emptyDataSetView(for scrollView: UIScrollView) - UIView? { // 完全自定义空视图 let customView UIView() customView.backgroundColor .red return customView } func emptyDataSetButtonTapped(for scrollView: UIScrollView) { print(Refresh button tapped) loadData() } }

相关新闻

最新新闻

Python-rtmbot常见问题解决:从调试到生产环境迁移完整方案

Python-rtmbot常见问题解决:从调试到生产环境迁移完整方案

Python-rtmbot常见问题解决:从调试到生产环境迁移完整方案 【免费下载链接】python-rtmbot A framework for receiving and interacting with events from Slacks RTM API 项目地址: https://gitcode.com/gh_mirrors/py/python-rtmbot Python-rtmbot是一个用…

2026/8/5 21:28:43
从零实现感知器算法:线性分类与神经网络基础

从零实现感知器算法:线性分类与神经网络基础

1. 从“神经元”到“决策线”:感知器算法的核心思想如果你刚开始接触机器学习,可能会被各种复杂的模型和数学公式吓到。但我想告诉你,有一个算法,它简单、直观,却奠定了整个神经网络乃至深度学习的基础,它就…

2026/8/5 21:28:43
C++拷贝构造函数值传递陷阱:从递归崩溃到正确实现

C++拷贝构造函数值传递陷阱:从递归崩溃到正确实现

1. 项目概述:一个看似简单却暗藏玄机的陷阱 在C的世界里,拷贝构造函数是每个开发者都必须掌握的基础概念。它负责用一个已存在的对象来初始化一个新对象,是对象“复制”行为的核心实现。然而,就在这个看似基础的操作中&#xff0c…

2026/8/5 21:28:43
直流电机模糊控制MATLAB仿真:从非线性系统建模到鲁棒性验证

直流电机模糊控制MATLAB仿真:从非线性系统建模到鲁棒性验证

1. 项目缘起:为什么用模糊控制来驯服直流电机?直流电机,这玩意儿在工业自动化、机器人、甚至我们家里的电动玩具里都随处可见。它结构简单、控制方便,但想让它“听话”——比如在负载突变时还能保持转速稳定,或者在需要…

2026/8/5 21:28:43
一文读懂PatchTST-FM-r1配置文件:关键参数详解

一文读懂PatchTST-FM-r1配置文件:关键参数详解

一文读懂PatchTST-FM-r1配置文件:关键参数详解 【免费下载链接】patchtst-fm-r1 项目地址: https://ai.gitcode.com/hf_mirrors/ibm-research/patchtst-fm-r1 PatchTST-FM-r1是一款基于Transformer架构的时间序列基础模型,专为高精度时间序列预测…

2026/8/5 21:28:43
ChatGPT Prompts for Bug Bounty  Pentesting:如何匹配个人技能与最佳漏洞赏金项目

ChatGPT Prompts for Bug Bounty Pentesting:如何匹配个人技能与最佳漏洞赏金项目

ChatGPT Prompts for Bug Bounty & Pentesting:如何匹配个人技能与最佳漏洞赏金项目 【免费下载链接】chatgpt-prompts-bug-bounty ChatGPT Prompts for Bug Bounty & Pentesting 项目地址: https://gitcode.com/gh_mirrors/ch/chatgpt-prompts-bug-bount…

2026/8/5 21:23:43