iPhone:如何在两个表视图中使用UITableViewCell

时间:2012-01-20 11:33:30

标签: iphone uitableview

我有两个继承UITableViewControllers的类。这两个表视图应该使用相同的自定义UITableViewCell。那么如何在两个不同的类中使用Nib文件中的Custom UITableViewCell呢? xib的所有者只能是一个类。

@interface Class1 : UITableViewController<UITableViewDataSource,
    UITableViewDelegate> {
UITableViewCell *myCustomTableRow;
}

@property (nonatomic, retain) IBOutlet UITableViewCell *myCustomTableRow;





@interface Class2 : UITableViewController<UITableViewDataSource,
    UITableViewDelegate> {
UITableViewCell *myCustomTableRow;
}

@property (nonatomic, retain) IBOutlet UITableViewCell *myCustomTableRow;

3 个答案:

答案 0 :(得分:3)

创建一个UITableViewController子类,说CommonTableView。将其设为nib文件的所有者。然后从CommonTableView类继承要实现的两个类。这样可以正常工作。

答案 1 :(得分:0)

根据我的观点,您应该创建自定义单元格,而对于其他表格,您应该只为其创建XIB并使用.h和.m文件相同...

只需在XIB中更改控制器......

希望你明白......

请参阅此How to create Customcellthis

答案 2 :(得分:0)

使用UINib class。它允许在没有父级的情况下进行实例化,还可以通过缓存nib文件内容来提高性能。

@interface Class1 : UITableViewController<UITableViewDataSource, UITableViewDelegate> {
    UINib *myCustomCellNib;
}

......和Class2类似。然后,在viewDidLoad

myCustomCellNib = [UINib nibWithNibName:@"myCustomCellNibName" bundle:nil];

然后,在创建单元格时:

NSArray* objects = [myCustomCellNib instantiateWithOwner:nil options:nil];
// given that your cell is defined as a first object in your nib
cell = [objects objectAtIndex:0];