基于IOS系统的动态创建视图UI 解决方案 - LazyScrollView

简介: LazyScrollView 是 iOS 的 ScrollView,用于解决视图的复用问题。

基于LazyScroll,我们创造了一个动态创建视图UI页面的解决方案,详情可见Tangram-iOS

LazyScrollView 是 iOS 的 ScrollView,用于解决视图的复用问题。

与 UITableView 相比,LazyScrollView 可以轻松创建不同的布局,而不是单行流布局。

与 UICollectionView 相比,LazyScrollView 可以在没有 Grid 布局的情况下创建视图,并且提供了一种在 ScrollView 中创建不同类型布局的更简单的方法。

我们创建了一个模块化的 UI 解决方案,用于基于 动态构建 UI 页面LazyScrollView,您可以从这个 repo 中看到更多信息:Tangram-iOS

安装

LazyScrollLazyScroll在 CocoaPods 中可用。

pod 'LazyScroll'

您还可以从发布页面下载源文件并手动将它们添加到您的项目中。

用法

#import "TMMuiLazyScrollView.h"

然后,创建 LazyScrollView:

TMMuiLazyScrollView *scrollview = [[TMMuiLazyScrollView alloc ]init];
scrollview.frame = self.view.bounds;

接下来,实现TMMuiLazyScrollViewDataSource

@protocol TMMuiLazyScrollViewDataSource <NSObject>
@required
// Number of items in scrollView.
- (NSUInteger)numberOfItemInScrollView:(TMMuiLazyScrollView *)scrollView;
// Return the view model (TMMuiRectModel) by index.
- (TMMuiRectModel *)scrollView:(TMMuiLazyScrollView *)scrollView rectModelAtIndex:(NSUInteger)index;
// Return view by the unique string that identify a model (muiID).
// You should render the item view here.
// You should ALWAYS try to reuse views by setting each view's reuseIdentifier.
- (UIView *)scrollView:(TMMuiLazyScrollView *)scrollView itemByMuiID:(NSString *)muiID;
@end

接下来,设置 LazyScrollView 的数据源:

scrollview.dataSource = self;

最后,重新加载:

[scrollview reloadData];

有关更多详细信息,请克隆 repo 并打开演示项目。

相关文章
|
5月前
|
iOS开发
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
127 9
Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.17.1 ED - 思科无线控制器系统软件
|
云安全 安全 Cloud Native
Cisco Catalyst 8000 Series IOS XE 17.18.1a ED 发布 - 思科边缘平台系列系统软件
Cisco Catalyst 8000 Series IOS XE 17.18.1a ED - 思科边缘平台系列系统软件
38 0
|
运维 监控 安全
Cisco ISR 4000 Series IOS XE 17.18.1a ED 发布 - 思科 4000 系列集成服务路由器 IOS XE 系统软件
Cisco ISR 4000 Series IOS XE 17.18.1a ED - 思科 4000 系列集成服务路由器 IOS XE 系统软件
32 0
|
人工智能 监控 安全
思科 Catalyst 9000 交换产品系列 IOS XE 系统软件 17.18.1 ED
Cisco Catalyst 9000 Series Switches, IOS XE Release 17.18.1 ED
60 0
|
4月前
|
JSON 前端开发 Java
开箱即用的GO后台管理系统 Kratos Admin - 交互式API文档 Swagger UI
Kratos Admin 集成 Swagger UI,实现交互式 API 文档。通过 Buf 生成 OpenAPI 规范,并内嵌至服务,自动同步接口变动,提升调试与协作效率。
199 1
开箱即用的GO后台管理系统 Kratos Admin - 交互式API文档 Swagger UI
|
8月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
253 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
9月前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
231 13
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
|
10月前
|
人工智能 搜索推荐 算法
婚恋交友系统UI/UX设计优化 婚恋交友系统用户界面友好性提升 婚恋交友系统用户行为分析与优化 婚恋交友系统用户反馈收集与处理
针对婚恋交友系统的UI/UX设计优化,本文提出多项策略:简化用户界面、提升交互体验、个性化推荐算法;增强用户界面友好性,包括适应性、无障碍及情感化设计;通过数据收集与分析优化用户行为路径;建立多渠道反馈机制,分类处理并及时告知结果。这些措施旨在提高用户体验和满意度,促进平台健康发展。[点击查看完整演示和免费源码](https://gitee.com/duoke-official-open-source/hunlianjiaoyou)
423 6
|
11月前
|
安全 Android开发 数据安全/隐私保护
深入探索Android与iOS系统安全性的对比分析
在当今数字化时代,移动操作系统的安全已成为用户和开发者共同关注的重点。本文旨在通过比较Android与iOS两大主流操作系统在安全性方面的差异,揭示两者在设计理念、权限管理、应用审核机制等方面的不同之处。我们将探讨这些差异如何影响用户的安全体验以及可能带来的风险。
484 21
|
10月前
|
前端开发 数据安全/隐私保护
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程 前端uniapp+H5 后端FastAdmin框架 可打包成APP多端运行 亲测可用
252 13

热门文章

最新文章