我有一个表单元格,我以编程方式添加子视图。所有文本子视图都可以正常工作,但我无法使用图像子视图。
您会注意到我将背景颜色设置为黑色。这只是向我表明子视图确实正在初始化并在单元格内正确定位。当我删除背景颜色时,那里什么都没有。
此外,单元格样式是UITableViewCellStyleDefault,但我认为这与自定义子视图无关。我希望图像位于右侧,这就是为什么我没有使用单元格提供的标准imageView
属性。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
// ... add textual views ...
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"clock.png"]];
img.frame = CGRectMake(271.0f, 10.0f, 19.0f, 22.0f);
img.backgroundColor = [UIColor blackColor];
[cell addSubview:img];
}
// ... more code ...
return cell;
}
答案 0 :(得分:0)
您的代码在某种程度上看起来很好。我在代码中创建自己的UITableViewCells时遇到的一个问题是我使用像你这样的变量创建单元格,但你不应该这样做。
您应该做的是创建单元格,然后设置变量。如果单元格不同,则应使用不同的重用标识符。希望这有意义,如果不让我知道,我会更新。