我在1个班级中使用多个UITableView但是我不能在我的代表中将它们分开。为什么这不起作用:
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
MenuHeader *header;
if (tableView == myFirstTable) {
header = [[MenuHeader alloc] initWithFrameAndTitel:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40) :@"Text for first table"];
}
else if (tableView == mySecondTable) {
header = [[MenuHeader alloc] initWithFrameAndTitel:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40) :@"Text for second table"];
}
return header;
}
我在if语句中放了一个断点,但它从不设置标题。同样发生在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}
我在@implementation下声明了我的tableviews:
UITableView *myFirstTable;
UITableView *mySecondTable;
UITableView *myThirdTable;
然后在初始化中:
myFirstTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 180)];
myFirstTable.dataSource = self;
myFirstTable.delegate = self;
[self addSubview:myFirstTable];
...
修改
更多代码:
@implementation TableStuff
@synthesize delegate = _delegate;
UITableView *myFirstTable;
UITableView *mySecondTalbe;
UITableView *myThirdTable;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
myFirstTable; = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 180)];;
menuTable.dataSource = self;
menuTable.delegate = self;
[self addSubview:menuTable];
mySecondTable = [[UITableView alloc] initWi....
more init...
}
return self;
}
答案 0 :(得分:0)
现在我只是通过向tableview添加标记并将tableview.tag与整数进行比较来解决此问题。仍然无能为力的为什么比较两个tableviews不起作用。