我如何自定义UITableviewCell,因为我想在单个单元格中看到标签,日期和图片。
答案 0 :(得分:3)
有两种选择(可能更多)。您可以使用本机UITableViewCell属性向单元格添加内容,或创建自定义单元格(我的意思是,将您自己的子视图添加到单元格)。要开始尝试第一个,它很简单优雅,结果将非常好。例如,尝试以下单元格创建方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// notice the Style. The UITableViewCell has a few very good styles that make your cells look very good with little effort
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
// In my case I get the data from the elements array that has a bunch on dictionaries
NSDictionary *d = [elements objectAtIndex:indexPath.row];
// the textLabel is the main label
cell.textLabel.text = [d objectForKey:@"title"];
// the detailTextLabel is the subtitle
cell.detailTextLabel.text = [d objectForKey:@"date"];
// Set the image on the cell. In this case I load an image from the bundle
cell.imageView.image = [UIImage imageNamed:@"fsaint.png"];
return cell;
}
答案 1 :(得分:2)
您可以使用Interface Builder或Code
自定义UITableViewCell答案 2 :(得分:1)
看一下这个链接。
在那里,您将找到如何使用Interface Builder创建自定义单元格,并在XCode中为您的应用程序使用它。
http://www.e-string.com/content/custom-uitableviewcells-interface-builder
答案 3 :(得分:0)
我非常喜欢覆盖UITableViewCell类,并在self.contentView中进行自定义绘图。这种技术稍微复杂一点,但它可以带来更好的滚动性能。
例如,假设您覆盖了您的单元格,并在其上有3个属性,如下所示:
@property(nonatomic, retain) UIImage *userPic;
@property(nonatomic, retain) NSString *label;
@property(nonatomic, retain) NSString *date;
然后你可以使用(drawRect :)函数在单元格中绘制它们:
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
[userPic drawInRect: CGRectMake(10, 5, 50, 50)];
[label drawAtPoint:CGPointMake(70, 5) withFont:[UIFont boldSystemFontOfSize:17]];
[date drawAtPoint:CGPointMake(70, 30) withFont:[UIFont systemFontOfSize:14]];
}
有关更多示例,请尝试查看使用此样式的此框架:https://github.com/andrewzimmer906/XCell