iOS代码实现九宫格

#define ScreenW [UIScreen mainScreen].bounds.size.width
#define ScreenH [UIScreen mainScreen].bounds.size.height
 1 // 数据
 2     NSArray *images = @[@"publish-boke", @"publish-weixin", @"publish-QQ", @"publish-offline"];
 3     NSArray *titles = @[@"发博客", @"发微信", @"发QQ",@"离线下载"];
 4
 5     // 中间的6个按钮
 6     int maxCols = 3;
 7     CGFloat buttonW = 72;
 8     CGFloat buttonH = buttonW + 30;
 9     CGFloat buttonStartY = (ScreenH - 2 * buttonH) * 0.5;
10     CGFloat buttonStartX = 20;
11     CGFloat xMargin = (ScreenW - 2 * buttonStartX - maxCols * buttonW) / (maxCols - 1);
12     for (int i = 0; i<images.count; i++) {
13         VerticalButton *button = [[VerticalButton alloc] init];
14         // 设置内容
15         button.titleLabel.font = [UIFont systemFontOfSize:14];
16         [button setTitle:titles[i] forState:UIControlStateNormal];
17         [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
18         [button setImage:[UIImage imageNamed:images[i]] forState:UIControlStateNormal];
19
20         // 设置frame
21         button.width = buttonW;
22         button.height = buttonH;
23         int row = i / maxCols;
24         int col = i % maxCols;
25         button.x = buttonStartX + col * (xMargin + buttonW);
26         button.y = buttonStartY + row * buttonH;
27         [self.view addSubview:button];
28     }
时间: 2024-10-13 19:48:55

iOS代码实现九宫格的相关文章

iOS开发基础-九宫格坐标(4)

对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联.  WJQAppView 类中声明3个 IBOutlet 属性,与 appxib.xib 中的视图对象包含的 UIImageView . UILabel 和 UIButton 建立连接. WJQAppView 头文件代码如下所示: 1 //WJQAppView.h 2 @interface WJQAp

iOS开发基础-九宫格坐标(6)

继续对iOS开发基础-九宫格坐标(5)中的代码进行优化. 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppInfo 类实现. 实例代码 在 WJQAppInfo.h 中添加一个向外公开的接口,其返回处理好的模型数组,方法定义如下: + (NSArray *)appInfoArray; 实现代码如下: 1 //WJQAppInfo.m.将数据处理部分搬到模型类中进行处理 2 + (NSArray *)app

IOS仿Android九宫格解锁效果[转]

原理很简单,监听view中touch的一系列事件,当判定手指位置在某个按钮附近的时候则判断此按钮选中,并画出线. 效果图如下: 你可以在NineGridUnlockView.m文件中方法 touchesEnded:withEvent: 的最后添加自己的代码来决定画线完成后来做什么. (当前工程还没有加入委托,后续可能加上) 代码地址: https://github.com/lcwangchao/NineGridUnlocker IOS仿Android九宫格解锁效果[转]

IOS代码库

1 /* 九宫格计算 */ 2 int totalCol = 5;//指定总列数 3 4 CGFloat viewW = 50;//subview宽度 5 CGFloat viewH = 50;//subview高度 6 7 CGFloat marginX = (self.view.bounds.size.width-viewW*totalCol)/(totalCol+1);//计算横向空白间隙 8 CGFloat marginY = marginX;//计算纵向空白间隙(和横向一致) 9 10

如何把iOS代码编译为Android应用

新闻 <iPhone 6/6 Plus中国销量曝光:单月销量650万>:据iSuppli Corp.中国研究总监王阳爆料,iPhone 6和iPhone 6 Plus在国内受欢迎的情况大大超过预期,苹果在中国的单月销量在11月超过了650万台,全年在中国的销量将超过4000万台. 教程 < Date parsing performance on iOS>:文章介绍了一个关于格式化时间的”黑科技“,作者使用 sqlite 替换 NSDateFormatter,提高了16倍的转换效率.

iOS代码加密的几种方式

众所周知的是大部分iOS代码一般不会做加密加固,因为iOS APP一般是通过AppStore发布的,而且苹果的系统难以攻破,所以在iOS里做代码加固一般是一件出力不讨好的事情.万事皆有例外,不管iOS.adr还是js,加密的目的是为了代码的安全性,虽然现在开源畅行,但是不管个人开发者还是大厂皆有保护代码安全的需求,所以iOS代码加固有了生存的土壤.下面简单介绍下iOS代码加密的几种方式. iOS代码加密的几种方式 1.字符串加密 字符串会暴露APP的很多关键信息,攻击者可以根据从界面获取的字符串

iOS代码加密常用加密方式

在今天的面试中,被问到了iOS是采用什么进行加密解密操作的,我的回答是这样的:AES,MD5,Base 64,然后是对这几种加密算法进行了一下简单的介绍和概述和几种算法之间的不同点和优缺点.然而,收到的回答是:这些都不是iOS的加密!我顿时就无语了,这不就是iOS加密所用到的方法么?然后向面试官请教了一下:MD5是一种摘要....什么叫加密呢?加密是客户端对数据加密和服务器端采用秘钥对数据进行解密处理,为了数据的安全考虑.要说加密应该是RSA.幸亏之前有了解过RSA,只是了解的不是很彻底和清楚.

[编写高质量iOS代码的52个有效方法](三)消息和运行期

[编写高质量iOS代码的52个有效方法](三)消息和运行期 参考书籍:<Effective Objective-C 2.0> [英] Matt Galloway 先睹为快 11.理解objc_msgSend的作用 12.理解消息转发机制 13.用"方法调配技术"调试"黑盒方法" 14.理解"类对象"的用意 目录 编写高质量iOS代码的52个有效方法三消息和运行期 先睹为快 目录 第11条理解objc_msgSend的作用 第12条理解

iOS代码签名理解

前言 做了几年iOS app coder了,对于证书的生成.使用流程烂熟于心,然而对于这套机制的原理却一直不甚理解.近来由于工作需要仔细研究了一下,特将自己的学习经验记录于此,以供大家学习指正. 问题 通常的iOS应用的签名流程是这样的(这里只是大概写一下,具体流程网上有很多): 访问钥匙串,使用“证书助理”的“从证书颁发机构请求证书”生成一个CertificateSigningRequest.certSigningRequest文件. 打开https://developer.apple.com