UIView:
1. 首先,新建一个类,继承自UIView。
2. 创建一个空的xib文件,文件名最好和前面类名一样。在xib中添加一个View,把加载类改成第一步继承的类。
3. 在xib中添加相应的控件,在第一步创建的类中添加相应的IBOutlet,并且连上相应的控件。
4. 使用如下:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"xib的名字" owner:self options:nil];
类名 *View = [nib objectAtIndex:0];
注意:在使用View的时候,如果没有哪个操作具有retain的功能,最好显示地把View retain一次,如果有addObject,addSubview之类的操作则不用。反正记住一点,这个View不是用alloc、copy等创建的,是个自动释放的对象,要特意保留一下它,要不然在以后用到的时候会出错。
UITableViewCell:
新建一个UIViewController,命名为CellViewController, 修改这个UIViewController的基类,使他从UITableViewCell继承。
打开CellViewController的xib 文件。删除xib中的view,添加一个UITableViewCell到xib窗口中,在xib中修改刚刚添加的UITableViewCell的加载类为CellViewController。可以在xib中加入控件。连上IBOutlet。 .h
|
.m
1 @implementation CellViewController
2 @synthesize lb;
3 @end
使用的时候,在cellForRowAtIndexPath函数中如下:
1 - (UITableViewCell * )tableView:(UITableView * )tableView cellForRowAtIndexPath:(NSIndexPath * )indexPath {
2 CellViewController * cell;
3 static NSString * CellIdentifier = @" CustomAccountStateCellViewControllerIdentifier " ;
4 cell = (CellViewController * )[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
5 if ( cell == nil )
6 {
7 NSArray * nib = [[NSBundle mainBundle] loadNibNamed: @" CellViewController " owner:self options:nil] ;
8 cell = [nib objectAtIndex: 0 ];
9 }
10
11 cell.lb.text = @" ABC " ;
12 return cell;
13 }
当然要添加自定义Cell的头文件到这里来。
运行程序。