在我的表格单元格中添加了标记。使用故事板将UIImageView放入其他空的原型单元格中并大小调整(47x34)。然后在这里添加代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell1";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [[[content objectAtIndex:indexPath.section] objectForKey:@"rowValues"] objectAtIndex:indexPath.row];
cellTxt = cell.textLabel.text;
UIImageView *flagImg = (UIImageView *) [cell viewWithTag:10];
NSString *imgFilenm = [cellTxt stringByAppendingString:@".jpg"];
flagImg.image = [UIImage imageNamed: imgFilenm ];
cell.imageView.frame = CGRectMake(0, 0, 47, 34); // not needed, and doesn't fix it
return cell;
}
图像出现,但向左挤压到仅约8个像素。为什么?以及如何纠正它?谢谢! 原件:
**编辑** 我将单元格文本切换到我添加的UILabel。这是代码:
UILabel *nameLbl = (UILabel *)[cell viewWithTag:5];
nameLbl.text = [[[content objectAtIndex:indexPath.section] objectForKey:@"rowValues"] objectAtIndex:indexPath.row];
以及故事板中的内容:
但现在旗帜甚至没有出现。
答案 0 :(得分:0)
你的旗帜没有被“挤压”。它们实际上隐藏在单元格的标题后面。尝试类似:
UIImageView *flagImg = (UIImageView *) [cell viewWithTag:10];
NSString *imgFilenm = [cellTxt stringByAppendingString:@".jpg"];
flagImg.image = [UIImage imageNamed: imgFilenm ];
[cell bringSubviewToFront:flagImg];
答案 1 :(得分:0)
使用它来工作:
UIImageView *cellImage = (UIImageView *)[cell viewWithTag:10];
[cellImage setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.jpg", [self.countries objectAtIndex: [indexPath row]]]]];
不知道为什么其他方法不起作用。