1124
来源:互联网 发布:新网域名添加白名单 编辑:程序博客网 时间:2024/05/10 06:19
storyboard文件的认识
- 用来描述软件界面
- 默认情况下,程序一启动就会加载Main.storyboard
- 加载storyboard时,会首先创建和显示箭头所指的控制器界面
IBAction和IBOutlet
- IBAction:
- 本质就是void
- 能让方法具备连线的功能
- IBOutlet
- 能让属性具备连线的功能
storyboard连线容易出现的问题
- 连接的方法代码被删掉,但是连线没有去掉
- 可能会出现方法找不到错误
- unrecognized selector sent to instance
- 连接的属性代码被删掉,但是连线没有去掉
- setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
UIViewController(控制器)的认识
- 一个控制器负责管理一个大界面
- 控制器负责界面的创建、事件处理等
类扩展
- 格式
@interface 类名()/** 属性、方法的声明 */@end
@interface 类名()/** 属性、方法的声明 */@end
- 作用
- 为某个类增加额外的属性和方法声明
- 可以写在.h和.m文件中
项目属性
- Product Name
- 软件名称、产品名称、项目名称
- Organization Name
- 公司名称、组织名称
- Organization Identifier
- 公司的唯一标识
- 一般是公司域名的反写,比如com.520it
- Bundle Identifier
- 软件的唯一标识
- 一般是Organization Identifier + Product Name
添加项目到文件的正确选则
九宫格计算思路
- 利用控件的索引index计算出控件所在的行号和列号
- 利用列号计算控件的x值
- 利用行号计算控件的y值
例如
//商品的宽高 CGFloat shopW = 90; CGFloat shopH = 110; //一行要展示的列数 int cols = 3; //每一列之间的间距 CGFloat colMargin = (self.shopsView.frame.size.width - cols * shopW) / (cols - 1); //每一行之间的间距 CGFloat rowMargin = 50; //创建一个父控件 ShopView * shopView = [ShopView shopView]; //商品的索引 NSInteger index = self.shopsView.subviews.count; // 给商品控件传递商品模型 shopView.shop = self.shops[index]; //商品的x值 NSUInteger col = index % cols; CGFloat shopX = col * (colMargin + shopW); //商品的y值 NSUInteger row = index / cols; CGFloat shopY = row * (rowMargin + shopH); shopView.frame = CGRectMake(shopX, shopY, shopW, shopH);
HUD
- 其他说法:指示器、遮盖、蒙板
- 半透明HUD的做法
- 背景色设置为半透明颜色
定时任务
- 方法1:performSelector
// 1.5s后自动调用self的hideHUD方法[self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5];
- 方法2:GCD
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 1.5s后自动执行这个block里面的代码 self.hud.alpha = 0.0;});
- 方法3:NSTimer
// 1.5s后自动调用self的hideHUD方法[NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(hideHUD) userInfo:nil repeats:NO];// repeats如果为YES,意味着每隔1.5s都会调用一次self的hidHUD方法
常见问题
- 项目里面的某个.m文件无法使用
- 检查:Build Phases -> Compile Sources
- 项目里面的某个资源文件(比如plist、音频等)无法使用
- 检查:Build Phases -> Copy Bundle Resources
模型
- 什么是模型?
- 专门用来存放数据的对象
- 一般都是一些直接继承自NSObject的纯对象
- 内部会提供一些属性来存放数据
一个控件看不见有哪些可能?
- 宽度或者高度其实为0
- 位置不对(比如是个负数或者超大的数,已经超出屏幕)
- hidden == YES
- alpha <= 0.01
- 没有设置背景色、没有设置内容
- 可能是文字颜色和背景色一样
0 0
- 1124
- 1124
- 1124
- HDU 1124
- 感恩节-1124
- hduoj 1124
- PAT 1124
- PAT 1124
- HDU 1124
- Week Overview(1124)
- Factorial hdu 1124
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU-1124(数学技巧)
- HDU 1124 Factorial
- HDU:1124 Factorial
- hdu 1124 Factorial
- light oj 1124
- ns3-5
- NYoj 024素数距离问题
- ns3-6
- NYoj 169 素数
- ns3-7
- 1124
- #早安,努力#11.25
- ns3-8
- Spring基础:快速入门spring(1):基础概念
- Eclipse设置护眼背景色、调整字体(含mac版)
- 物理存储结构
- 构造函数/析构函数/拷贝构造函数/深copy浅copy
- 将序列化成json格式后日期(毫秒数)转成日期格式
- 正则表达式学习笔记