Ios 使用同一TableViewCell原型的多个自定义UITableViewCell
我想看看在iOS7中有哪些选项可以做到这一点。我有一个TableViewCell原型,标识符为Ios 使用同一TableViewCell原型的多个自定义UITableViewCell,ios,uitableview,Ios,Uitableview,我想看看在iOS7中有哪些选项可以做到这一点。我有一个TableViewCell原型,标识符为TableViewCell\u RightDetailID,位于UITableViewController中。我还有另外两个自定义的tableviewcell类希望使用这个原型 有什么办法吗?不确定这是否可能 @interface TableViewCellA : UITableViewCell @interface TableViewCellB : UITableViewCell 我认为这样做应该有
TableViewCell\u RightDetailID
,位于UITableViewController
中。我还有另外两个自定义的tableviewcell类希望使用这个原型
有什么办法吗?不确定这是否可能
@interface TableViewCellA : UITableViewCell
@interface TableViewCellB : UITableViewCell
我认为这样做应该有效: TableViewController.m
#import "TVC.h"
#import "TableViewCellA.h"
#import "TableViewCellB.h"
@implementation TVC
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
{
TableViewCellA *cell = [tableView dequeueReusableCellWithIdentifier:@"TableViewCell_RightDetailID"];
// title, detaillabel etc
return cell;
}
else
{
TableViewCellB *cell = [tableView dequeueReusableCellWithIdentifier:@"TableViewCell_RightDetailID"];
// TO DO
return cell;
}
}
@end
由于单元的类是在故事板的原型中设置的,因此除非在故事板中复制原型(并使用不同的重用标识符),否则不可能对其进行更改
这实际上可能是在代码中进行布局并通过
[UITableView registerClass:forCellReuseIdentifier:
注册所有三个类的一个参数,但这行不通。即使您将单元格
声明为类型TableViewCellA
(或B),实例化单元格的实际类由情节提要确定。好的,我不确定是否必须这样做,但您是对的。为什么不创建两个具有不同标识符和不同类的可重用单元呢。这不应该是个问题……这基本上是我的答案。在这种情况下,这似乎是良性的,因为细胞有一个非常简单的布局。如果您有多个具有复杂布局的变体,这可能会成为一个问题。