iOS学习各节重点

0323

1.IBAction:

1> 能保证方法可以连线

2> 相当于void

 

2.IBOutlet:

1> 能保证属性可以连线

 

3.常见错误

setValue:forUndefinedKey:]:this class is not key value coding

错误原因是:连线出问题了

 

4.Xcode5开始的一些建议

把用于连线的一些方法和属性声明在.m文件的类扩展中

 

5.frame\center\bounds

1> frame:能修改位置和尺寸

2> center:能修改位置

3> bounds:能修改尺寸(x\y一般都是0)

0324

1.NSBundle

1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹

2> 利用mainBundle就可以访问软件资源包中的任何资源

3> 模拟器应用程序的安装路径

/Users/aplle/资源库/ApplicationSupport/iPhone Simulator/7.1/Applications

 

2.UIImageViewUIButton

1> 使用场合

* UIImageView: 如果仅仅是显示图片,不需要监听图片的点击

* UIButton: 既要显示图片,又要监听图片的点击

 

2> 相同:能显示图片

 

3> 不同点

* UIButton能处理点击事件,UIImageView不能处理点击事件

* UIButton既能显示图片,又能显示文字

* UIButton能同时显示两张图片

* UIButton继承自UIControl,因此默认就能处理事件

* UIImageView继承自UIView,因此默认就不能处理事件

 

3.Xcode文档安装路径

/Applications/Xcode.app/Contents/Developer/Documentation/DocSets

 

4.Xcode模拟器安装路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

0326

备课笔记:

1.纯代码方式实现九宫格

* 一个格子一个格子添加

* 使用for循环添加

 

2.字典转模型

* 什么是模型

* 好处分析

* 将字典转换为模型

* 模型提供字典转模型的构造方法

 

3.使用xib文件

* 用来描述九宫格

* 用来描述中间的提示信息

 

4.封装

* 纯代码的封装

*xib的封装


课堂笔记:

1.Xcode自带头文件的路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/System/Library/Frameworks/UIKit.framework/Headers

 

2.修改了系统自带头文件后,Xcode会报错

解决方案:删掉下面文件夹的缓存即可(aplle是电脑的用户名)

/Users/aplle/资源库/Developer/Xcode/DerivedData

或者

/Users/aplle/Library/Developer/Xcode/DerivedData

 

3.使用xib封装一个自定义view的步骤

1> 新建一个继承UIView的自定义view,假设类名叫做(MJAppView)

2> 新建一个MJAppView.xib文件来描述MJAppView内部的结构

3> 修改UIView的类型为MJAppView真实类型

4> 将内部的子控件跟MJAppView进行属性连线

5> MJAppView提供一个模型属性

6> 重写模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据

7> 把模型数据拆开,分别设置数据到对应的子控件中

8> 补充:提供一个创建MJAppView的类方法,将读取xib文件的代码屏蔽起来


0327

1.添加图片资源(暂时认为@2x跟非@2x代表同一张图片)

2.搭建UI界面

* 文本标签

* 4个按钮

* 中间的图片

3.设置状态栏样式

4.监听下一题按钮的点击

5.延迟加载数据

* 加载plist

* 字典转模型

* KVC的引入

6.切换下一题的序号、图片、标题,下一题按钮的可用性

7.默认显示第1条题目

8.显示大图

* 监听中间图片点击

* 添加遮盖

* 移动图片(注意头像图片的层级顺序)

* 监听大图按钮

9.展示答案的个数

10.展示待选答案

11.答案处理

12.提示功能

13.IconLaunch@2x


0329

1.PPT介绍什么是UIScrollView

2.新建项目大图片展示

* 尽量用storyboard,减少代码

* 设置contentSize属性

* 取消autolayout

* 说明frame.sizecontentSize的区别

3.介绍UIScrollView的代理

* PPT

* 演示3个代理方法的使用

// 用户开始拖拽时调用

- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView;

// 滚动到某个位置时调用

- (void)scrollViewDidScroll:(UIScrollView*)scrollView;

// 用户结束拖拽时调用

- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate;

4.演示scrollView的常见属性

* contentOffset

* contentInset

... ...

5.新建项目喜马拉雅

6.新建项目图片缩放

* PPT

* 代码演示

7.新建项目图片轮播器

* 分页展示图片

* UIPageControl的使用

* NSTimer的使用

(虽然用storyboard搭建界面,但是也要说清楚对应的代码操作方式)


0330


1.tableView简介

* PPT简介

 

2.汽车品牌(简单)

* 写死数据

1> 德系品牌:宝马、奔驰

2> 日系品牌:本田、丰田

 

* 头部和尾部标题

 

* 扩展新的一行

1> 德系品牌:奥迪

2> 日系品牌:马自达

 

* 扩展新的一组

欧系其他:兰博基尼、劳斯莱斯、法拉第

 

* 引入模型,手动创建模型数据

 

* plist中读取完整的模型数据

 

3.LOL英雄

* 加载模型数据

* 展示cell的几个子控件

* 展示accessoryTypeaccessoryView

* 监听点击

 

4.性能优化(以“LOL英雄为例子)

 

5.汽车品牌(带图、按照拼音排序)

* 手动创建模型数据

* 加载模型数据

* 显示汽车内容

* 索引标题

 

0401


1.通过xib自定义cell

* 添加tableView

* 加载团购数据

* 新建xib,获取子控件

* 封装

* 最后引入headerViewfooterView(插入广告,加载更多)

2.通过代码自定义cell

* 引入UITableViewController

* 加载模型数据MJStatus,用自带的cell展示基本数据

* 新建一个MJStatusCell,封装模型数据

* init方法中添加4个子控件

* set方法中给子控件设置数据

* set方法中给子控件计算frame

* 说明cell的高度无法计算

* 设计MJStatusFrame

* 建立MJStatusMJStatusFrameMJStatusCell的关系(提醒属性名不能叫做frame)

* 性能优化(存储MJStatusFrame数据,不存储MJStatus数据)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章