- (void)viewDidLoad {
[super viewDidLoad];
//1.总列数(一行最多3列)
int totalColumns=;
CGFloat appW=;
CGFloat appH=;
//2.间隙=(控制器的view的宽度-3*应用宽度)/4
CGFloat margin=(self.view.frame.size.width-totalColumns*appW)/(totalColumns+);
//3.根据应用个数创建对应的框
for (int index=; index<self.apps.count; index++) {
//NSDictionary *dict=self.apps[index];//字典
//appModel *model=self.apps[index];//模型
//创建一个view
UIView *appView=[[UIView alloc] init];
//设置背景色
appView.backgroundColor=[UIColor redColor];
//计算出行号和列号
int row=index/totalColumns;
int col=index%totalColumns;
//每个格的坐标
CGFloat appX=margin+col * (appW+margin);
CGFloat appY=+row*(appH + margin);
appView.frame=CGRectMake(appX, appY, appW, appH); [self.view addSubview:appView];
}
}

ios九宫格算法的更多相关文章

  1. IOS 九宫格算法

    @interface ViewController () @property (nonatomic,strong) NSArray *apps; //获取.plist数据 @end @implemen ...

  2. iOS开发——UI篇&九宫格算法

    九宫格算法 关于iOS开发中九宫格的实现虽然使用不多,而且后面会有更好的方实现,但是作为一个程序员必需要知道的就是九宫格算法的实现. 一:实现思路: (1)明确每一块用得是什么view (2)明确每个 ...

  3. iOS开发系列-九宫格算法-xib

    给大家演示 应用程序下载 小项目,效果图:涉及知识点:懒加载,九宫格算法,字典转模型,自定义UIView ,xib文件的使用 首先把素材拖到Xcode项目中:简单看一下素材文件 此时大家应该首先关注. ...

  4. JS  实现九宫格算法

    九宫格算法核心: 利用控件索引index计算出控件所在的行数和列数: 利用控件计算出left距离: 利用控件计算出top距离: 写特效时需要用到定位 公式: 行 row=parseInt(i/cols ...

  5. iOS 九宫格手势密码

    代码地址如下:http://www.demodashi.com/demo/11490.html 一.准备工作 需要准备什么环境 xcode,iOS8+ 本例子实现什么功能 主要实现手势密码设置,验证 ...

  6. JS 九宫格算法 用原生js实现

    九宫格算法核心: 利用控件索引index计算出控件所在的行数和列数: 利用控件计算出left距离: 利用控件计算出top距离: 写特效时需要用到定位 公式: 行 row=parseInt(i/cols ...

  7. iOS应用九宫格算法

      1.框框横向间隔为:( "界面的总宽度"-"界面每行的控件的宽度" * "每行要现实的列数(这里是3)") / ("列数 + ...

  8. 82、iOS 基本算法

    “冒泡排序.选择排序.快速排序.归并排序.逆序.二分查找.求两个整数的最大公约数和最小公倍数.” 一.冒泡排序 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的 ...

  9. ios Swift 算法

    // Playground - noun: a place where people can play import Cocoa var nums = Int[]() ... { nums.appen ...

随机推荐

  1. 完整的Django入门指南学习笔记2

    part2: 前沿 在第一节中,我们安装了项目所需要的一切:Python3.6以及在虚拟环境中运行的Django2.0,这部分教程继续在项目上编写代码. 开始写代码前,先讨论下项目的相关背景知识,然后 ...

  2. 『MXNet』第二弹_Gluon构建模型

    上节用了Sequential类来构造模型.这里我们另外一种基于Block类的模型构造方法,它让构造模型更加灵活,也将让你能更好的理解Sequential的运行机制. 回顾: 序列模型生成 层填充 初始 ...

  3. mysql并行执行--缩短主从同步时延

    https://www.w3cschool.cn/architectroad/architectroad-mysql-parallel-copy.html 三.结尾 从mysql并行复制缩短主从同步时 ...

  4. js动态修改title

    问题描述: 由于微信浏览器只在页面首次加载时初始化了标题title,之后就没有再监听 window.title的change事件.所以这里修改了title后,立即创建一个请求,加载一个空的iframe ...

  5. JS保留小数 去尾法 进一法 四舍五入法

    //toFixed 四舍五入遇到坑. 1.235.toFixed(2) = 1.23 1.2350001.toFixed(2) = 1.24 //去尾法 Number.prototype.toFloo ...

  6. vscode代码保存时自动格式化成ESLint风格(支持VUE)

    一.问题 vscode的默认的代码格式化ctrl+shift+f 无法通过eslint的代码风格检查是一个非常蛋疼的问题 同样在进行vue项目开发的时候,使用eslint代码风格检查是没啥问题的,但是 ...

  7. Author and Submission Instructions

    This document contains information about the process of submitting a paper to NIPS 2014. You can als ...

  8. std::string find 的返回值

    std::string  的方法 find,返回值类型是std::string::size_type, 对应的是查找对象在字符串中的位置(从0开始), 如果未查找到,该返回值是一个很大的数据(4294 ...

  9. 2-Servlet和servletContext

    2018-08-09   22:34 * Servlet(好好学)  * 动态WEB的资源.   * 什么是Servlet    * 实现Servlet接口,重写5个方法.           * S ...

  10. SpringBoot+MyBatis+Mysql 详细示例

    SpringBoot与MyBatis整合,底层数据库为mysql的使用示例  项目下载链接:https://github.com/DFX339/bootdemo.git   新建maven项目,web ...