为啥我的 iPhone UITableView 原型单元格图像水平移动?
Posted
技术标签:
【中文标题】为啥我的 iPhone UITableView 原型单元格图像水平移动?【英文标题】:Why are my iPhone UITableView prototype cell images horizontally shifted?为什么我的 iPhone UITableView 原型单元格图像水平移动? 【发布时间】:2012-11-17 14:33:15 【问题描述】:为我的表格单元格添加了标志。使用情节提要将 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];
以及它在故事板中的样子:
但现在旗子甚至没有出现。
【问题讨论】:
你现在应该有足够的声望来上传了。 嘿,谢谢,保罗!看看吧。 这可能是问题所在:我的故事板默认为 Retina 显示的 iPhone,即使我选择 5.0 部署目标。不习惯那个“功能”,也不确定我喜欢它。可以改吗? 【参考方案1】:你的旗帜没有被“压扁”。它们实际上隐藏在单元格标题的后面。尝试类似:
UIImageView *flagImg = (UIImageView *) [cell viewWithTag:10];
NSString *imgFilenm = [cellTxt stringByAppendingString:@".jpg"];
flagImg.image = [UIImage imageNamed: imgFilenm ];
[cell bringSubviewToFront:flagImg];
【讨论】:
【参考方案2】:使用:
UIImageView *cellImage = (UIImageView *)[cell viewWithTag:10];
[cellImage setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.jpg", [self.countries objectAtIndex: [indexPath row]]]]];
不知道为什么其他方法不起作用。
【讨论】:
以上是关于为啥我的 iPhone UITableView 原型单元格图像水平移动?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 UIActivityIndicatorView 只显示一次?