从品牌网站建设到网络营销策划,从策略到执行的一站式服务
在移动开发里有相当多的时候需要使控件呈现九宫格格式的分布,最常见的如
成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿瓦提企业提供专业的网站建设、网站制作,阿瓦提网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。图案解锁界面:
相册管理界面:
单独创建一个这样界面的步骤相当繁琐,要创建父视图用于控制每一个单独的控件,而控件添加的时候还要判断每一格的位置,而且代码复用性不高,因为每一种九宫格视图的控件边距,控件的宽高不同。
所以,是否可以写一个这样的模块,只需要提供一个子控件的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许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图