TableViewCell中的UIImage推送Cell Separator

时间:2014-02-16 20:26:57

标签: ios objective-c uitableview

我在表格视图单元格中添加了一个UIImage。但是,UIImage正在将分隔符推到右边,为UIImage腾出空间。我想找到一种方法让分隔符包含UIImage而不是被推过去。这是我的表视图单元格的图片。

enter image description here

这是我的cellForRowAtIndexPath方法,其中包含图像代码:

-(UITableViewCell *)tableView:(UITableView *)tableView
    cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell =
    [tableView dequeueReusableCellWithIdentifier:CellIdentifier
                                forIndexPath:indexPath];

   Exercise *tempPlaceholder = [exercisesInTable objectAtIndex:indexPath.row];



   NSString *exerciseDisplayName = tempPlaceholder.exerciseName;

   exerciseDisplayName = [exerciseDisplayName capitalizedString];

    exerciseDisplayName =
   [exerciseDisplayName  stringByReplacingOccurrencesOfString:@"_"
                                                withString:@" "];

   cell.textLabel.text = exerciseDisplayName;

   cell.imageView.image = [UIImage imageNamed:@"quads.png"];


    return cell;
}

如果有人能帮助我,我真的很感激。谢谢。

3 个答案:

答案 0 :(得分:1)

对于遇到此问题的任何其他人,请使用:

[self.tableView setSeparatorInset:UIEdgeInsetsZero];

将填补UIImage和表格单元格分隔符之间的空白。

答案 1 :(得分:0)

尝试更改imageView框架的大小

cell.imageView.frame = CGRectMake(0, 0, 10.0, 10.0);

或更改单元格的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  return 40.0;
}

答案 2 :(得分:0)

您遇到的行为只会发生在 iOS 7 上,其中分隔符的插图默认情况下会随图像视图大小而变化。

要删除此行为,只需将分隔符insets设置为零。但separatorInset属性可从 iOS 7.0

UITableView获取

所以你只需要删除iOS 7中的插入内容。

您可以检查表格视图是否响应setSeparatorInset:正在进行

if ([self.tableview respondsToSelector:@selector(setSeparatorInset:)]) 
{
    [self.tableview setSeparatorInset:UIEdgeInsetsZero];
}