删除UITableViewCell上的填充

时间:2011-04-24 07:03:06

标签: iphone objective-c cocoa-touch

在具有UITableViewCell样式的UITableViewCellStyleSubtitle上,我设置了imageView.imagetextLabel.textdetailTextLabel.text。电池周围有白色衬垫。如何摆脱填充,以便我的所有图像都像下面的Youtube应用程序一样互相触摸?

4 个答案:

答案 0 :(得分:8)

执行此操作的最简单方法可能是将UITableViewCell子类化并覆盖-layoutSubviews方法来执行以下操作:

- (void)layoutSubviews {
  //have the cell layout normally
  [super layoutSubviews];
  //get the bounding rectangle that defines the position and size of the image
  CGRect imgFrame = [[self imageView] frame];
  //anchor it to the top-left corner
  imgFrame.origin = CGPointZero;
  //change the height to be the height of the cell
  imgFrame.size.height = [self frame].size.height;
  //change the width to be the same as the height
  imgFrame.size.width = imgFrame.size.height;
  //set the imageView's frame (this will move+resize it)
  [[self imageView] setFrame:imgFrame];

  //reposition the other labels accordingly
}

答案 1 :(得分:2)

只需删除表格分隔符:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

答案 2 :(得分:1)

尝试在界面构建器或代码中减少UITableView的行高,以便没有填充。 我必须在tableview的界面构建器中增加填充。 但是,Daves回答可能会让您更好地控制修改单元格视图。

答案 3 :(得分:0)

在iOS8中,您可以设置

tableView.layoutMargins = UIEdgeInsets.zero

代码或Interface Builder。