我正在使用默认样式表,
我想在表格中添加更多行,我该如何自定义它?
代码:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
// Leave cells empty if there's no data yet
if (nodeCount > 0)
{
// Set up the cell...
ARecord *aRecord = [self.entries objectAtIndex:indexPath.row];
cell.textLabel.text = aRecord.lDate;
cell.detailTextLabel.text = aRecord.WNum;
// Only load cached images; defer new downloads until scrolling ends
//(!aRecord.appIcon) - use icon
if (!aRecord.appIcon)
{
if (self.tableView.dragging == NO && self.tableView.decelerating == NO)
{
[self startIconDownload:aRecord forIndexPath:indexPath];
}
// if a download is deferred or in progress, return a placeholder image
cell.imageView.image = [UIImage imageNamed:@"Placeholder.png"];
}
else
{
cell.imageView.image = aRecord.appIcon;
}
}
return cell;
}
答案 0 :(得分:1)
tableview中的行数由您在
中返回的内容决定- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
如果你在那里返回500,你将有一个500行表。
答案 1 :(得分:1)
不确定我是否理解这个问题。表中的节和行的数量由表视图的UITableViewDataSource控制(在大多数代码示例中,该协议由视图的控制器实现,但它可以是一个单独的对象)。
您发布的代码在此过程的后期发挥作用:在视图确定了存在的行数,总数以及当前在屏幕上的行之后,需要渲染这些行。但是,一般来说,它和UITableViewDelegate协议的其他方法是如何自定义表的外观和行为。 (以及视图本身的属性。)
答案 2 :(得分:0)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 返回1; }
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [tblArray count]; }
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString * CellIdentifer = [NSString stringWithFormat:@“%i”,indexPath.row]; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifer]; 如果(细胞==无){ cell = [self myCustomCell:CellIdentifer dicToSet:[tblArray objectAtIndex:indexPath.row]]; [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; } 返回细胞; }
- (UITableViewCell *)myCustomCell:(NSString *)CellIdentifer dicToSet:(NSDictionary *)dicToSet { UITableViewCell * cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(0,0,320,44)reuseIdentifier:CellIdentifer] autorelease];
UIImageView *imgV=[[UIImageView alloc] initWithFrame:CGRectMake(2, 2, 40, 40)];
[imgV setImage:[UIImage imageNamed:[dicToSet valueForKey:@"Photo"]]];
[cell addSubview:imgV];
[imgV release];
return cell;
}