IOS开发之九宫格设计思路

引言

在IOS开发 UI设计中,大多数的软件界面都采用九宫格的序列方式来排列


九宫格计算思路




-设计思路:将九个红色的方框和白色的字体封装到白色的底色当中,即将UIImageview控件和UILabel控件装入白色的UIView中。

UIImageview * view = [[UIImageview alloc] init];

UIImageview *smallview = [[UIImageview alloc] init];

[view addsubview:smallview]

UILabel *label = [[UILabel alloc] init];

[view addsubview:label];

- 利用控件的索引index计算出控件所在的行号和列号

1、先将底部的白色控件写入interface中;

@property (strong, nonatomic) IBOutlet UIView *bigview;

2、计算出3个子控件之间的间隙值;

假设红色子控件的宽为Width和高度Heigth

CGFloat Width = 78;

CGFloat Height = 88

int colsX = 3;

int colsY = 3;

//每列之间的间隙值

CGFloat marginX = (self.bigview.frame.size.width - Width * closX) / (colsX -1);

//每列之间的间隙值

CGFloat marginY = (self.bigview.frame.size.height - Height * close) / (colsY -1);

3、利用列号计算控件的x值

//计算索引长度,索引的长度其实就是红色子控件所在的白色底色控件的数组的位置(即红色子控件所标示的0、1、2、3等)

NSUInteger index = self.bigview.subviews.count;

//第0行我们可以得出是由0、1、2的索引对3取余数得来,第一行由3、4、5的索引对3取余数得来,以此类推

NSUInteger indexX = index % 3;

CGFloat WidthX = indexX * (Width + marginX);

4、利用行号计算控件的y值

//第0列我们可以得出是由0、3、6的索引对3相除得来,第一行由2、4、7的索引对3相除得来,以此类推

NSUInteger indexY = index / 3;

CGFloat HeightY = indexY * (Height + marginY);

bagview.frame = CGRectMake(WidthX, HeightY, Width, Height);

[self.view addsubview: view];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,118评论 3 38
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,773评论 2 7
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,159评论 1 6
  • 和朋友聊天,聊到她过段时间的英语考级话题,她规划着近一段时间应该怎么去努力,好让未来的自己不至于遗憾,但聊着聊着就...
    一柠有个小院子阅读 1,281评论 0 2
  • #幸福是需要修出来的~每天进步1%~幸福实修04班31、08班02-陈莉梅-浙江永康# 201708018(61/...
    陈莉梅阅读 157评论 1 1