码迷,mamicode.com
首页 > 移动开发 > 详细

ios学习笔记(1)

时间:2015-09-05 23:30:45      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

默认的表格样式通常不能满足正常的开发需要

 解决方法 —— 自定义Cell

1> XIB(团购)

2> 纯代码(微博)

3> StoryBoard

 

XIB的定义步骤

-----------------------------------------------

1> 新建HMTgCell.xib

2> 拽一个需要自定义的控件,摆放其他子控件

3> 新建一个类

* 类名要与XIB的名字保持一致

* 继承自的子类要与XIB中的根节点的类型一致

4> 要连线之前,需要将XIB的根节点类名修改为刚刚新建的类名

5> 连线

6> XIB的属性面板,指定可重用标示符

 

代码创建Cell的步骤

-----------------------------------------------

1> 创建自定义Cell,继承自UITableViewCell

2> 根据需求,确定控件,并定义属性

3> getter方法完成控件的实例化,只创建并添加到contentView,不处理位置

4> 定义一个模型属性,通过setter方法,设置cell的显示

 

-----------------------------------------------

1. cellHeight 可以通过Status计算

解决方法:statusFrame模型,通过setter方法计算行高!

 

目前存在什么问题?

 

所有的单元格控件的计算都是重复的,而且每次表格滚动,设置内容都会重新计算。

 

解决这个问题:

statusFrame模型中,已经包含了status属性。

 

目前控制器中的数组保存的是status模型,将status模型替换为statusFrame模型{status,所有控件的位置},同样具有status模型

 

解决步骤

1. 将原有的status模型替换为statusFrame模型

*** 只是修改视图控制器中的代码,暂时不要动cell

 

*** 重构代码一定要小步来

 

问题:

cell中的控件的位置计算,依然是自己计算的。

解决办法:将cell中的status替换为statusFrame就可以拿到控件位置

 

 

-----------------------------------------------

代理模式:是父控件(视图控制器)监听子控件的事件,当子控件发生某些事情时,通知父控件工作!

 

* footView => controller 去工作,使用代理

* controller => footView 去工作,直接调用footView的方法即可

ios学习笔记(1)

标签:

原文地址:http://www.cnblogs.com/zinder/p/4784036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!