嘿所有,我正在尝试创建一个商业搜索风格的应用程序,并希望创建一个自定义单元格来向用户显示一些信息。我已经让单元格显示我想要提供的所有信息,但格式是关闭的。这是我用来创建单元格的代码。
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CustomCell";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil];
#ifdef __IPHONE_2_1
cell = (CustomCell *)[nib objectAtIndex:0];
#else
cell = (CustomCell *)[nib objectAtIndex:1];
#endif
}
// Configure the cell.
NSDictionary *dict = [rows objectAtIndex: indexPath.row];
cell.bizNameLabel.text = [dict objectForKey:@"name"];
cell.addressLabel.text = [dict objectForKey:@"address"];
NSMutableString *detailed = [NSMutableString string];
[detailed appendString:[dict objectForKey:@"distance"]];
[detailed appendString:@"mi"];
cell.mileageLabel.text = detailed;
// determine the rating for the business
NSString *icontype = [dict objectForKey:@"rating"];
NSInteger rating = [icontype intValue];
UIImage *image;
// variable to change the color of the cell's background
UIView *bg = [[UIView alloc] initWithFrame:cell.frame];
// switch statement to determine the rating image to be displayed
switch (rating) {
case 1:
{
image = [UIImage imageNamed:@"1.png"];
bg.backgroundColor = [UIColor yellowColor];
break;
}
case 3:
{
image = [UIImage imageNamed:@"3.png"];
bg.backgroundColor = [UIColor orangeColor];
break;
}
case 5:
{
image = [UIImage imageNamed:@"5.png"];
//bg.backgroundColor = [UIColor redColor];
cell.backgroundColor = [UIColor redColor];
break;
}
default:
break;
}
[cell.ratingImage setImage:image];
cell.backgroundView = bg;
[bg release];
#ifdef __IPHONE_3_0
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
#endif
return cell;
}
然后我在IB中创建了这样的布局......
(前两个问题已经解决,我使用了错误的图像变量来显示图像)
选择之后,你可以说事情没有了什么
![在此输入图片说明] [3]
在IB中,我将单元格的尺寸设置为320宽度,高度为80,并且在“缩进”选项卡下,我将类更改为CustomClass。我敢肯定我忽略了一些微不足道的事情,但如果有人能给我一块骨头,我会感激不尽。我已经解决了我所遇到的问题,图像没有显示我想要的位置,但我仍然遇到问题,背景颜色没有变化,字体大小显示不同,当选择单元格时,它与单元格分隔符重叠。
注意:试图包括屏幕截图,但因为我是新手所以不会让我。我提供了一个链接,我将所选单元格的图像与下面的分隔符重叠。
http://s1216.photobucket.com/albums/dd361/cabearsfan/?action=view¤t=screenshot2.png
答案 0 :(得分:0)
好像你没有使用UIImageView的nib引用,但是你正在使用单元格的默认imageView属性。
答案 1 :(得分:0)
我会说在图像视图框架和你给它的图像尺寸之间存在不匹配。
在调用setImage之后,添加此代码以查明发生了什么:
NSLog(@" imageView frame %f,%f, %f, %f",imageView.frame.origin.x,imageView.frame.origin.y,
imageView.frame.size.width,imageView.frame.size.height);
NSLog(@" image size %f x %f", image.size.width, image.size.height);