iOS实现九宫格自动生成视图-创新互联

在移动开发里有相当多的时候需要使控件呈现九宫格格式的分布,最常见的如

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿瓦提企业提供专业的网站建设、网站制作阿瓦提网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

图案解锁界面:

iOS实现九宫格自动生成视图

相册管理界面:

iOS实现九宫格自动生成视图

单独创建一个这样界面的步骤相当繁琐,要创建父视图用于控制每一个单独的控件,而控件添加的时候还要判断每一格的位置,而且代码复用性不高,因为每一种九宫格视图的控件边距,控件的宽高不同。

所以,是否可以写一个这样的模块,只需要提供一个子控件的frame就能够生成一个完整的九宫格视图呢?

以下是我的思路:

首先肯定是用一个类来管理整个模块的,所以创建一个UISodokuView类继承于UIScrollView:
——为什么是scollView?
——因为当需要添加的控件数量较大时,显然会超出手机屏幕范围,只有用scrollView才能完全显示,也就是说,只要用户提供了单个控件的frame、控件数量以及每一行控件的个数,就能够确定UIScrollView的contentSize大小,从而添加。

UISodokuView类

.h文件

@interface UISodokuView : UIScrollView
//基础控件的frame
@property(nonatomic,assign)CGRect itemFrame;
//要添加的控件数量
@property(nonatomic,assign)NSInteger itemsNumber;
//每一行控件数量
@property(nonatomic,assign)NSInteger itemsNumberInOneLine;
//存储控件的array
@property(nonatomic,strong)NSMutableArray *itemsArray;
//scrollView宽度
@property(nonatomic,assign)NSInteger scrollViewWidth;
//scrollView高度
@property(nonatomic,assign)NSInteger scrollViewHeight;

//初始化,但并没有添加控件
-(instancetype)initWithItemFrame:(CGRect)frame andItemsNumber:(NSInteger)itemsNumber andItemsNumberInOneLine:(NSInteger)itemsInOneLine;

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

本文题目:iOS实现九宫格自动生成视图-创新互联
本文路径:https://www.cdcxhl.com/article36/ceoosg.html

成都网站建设公司_创新互联,为您提供营销型网站建设云服务器网站策划服务器托管动态网站搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设