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() } }

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/10/2 15:29:32
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻