本文主要是介绍使用xib自定义UIView和UITableViewCell以方便布局的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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的头文件到这里来。
运行程序。
这篇关于使用xib自定义UIView和UITableViewCell以方便布局的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!