开发者

Remove padding on UITableViewCell

开发者 https://www.devze.com 2023-02-28 03:22 出处:网络
On a UITableViewCell with UITableViewCellStyleSubtitle styling, I\'m setting the imageView.image, textLabel.text, and detailTextLabel.text. There\'s wh开发者_如何学编程ite padding all around the cell.

On a UITableViewCell with UITableViewCellStyleSubtitle styling, I'm setting the imageView.image, textLabel.text, and detailTextLabel.text. There's wh开发者_如何学编程ite padding all around the cell. How do I get rid of the padding so all my images touch each other like the Youtube app below?

Remove padding on UITableViewCell


Probably the easiest way to do this would be to subclass UITableViewCell and override the -layoutSubviews method to do something like this:

- (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
}


Just remove table separator:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;


In iOS8 you can set

tableView.layoutMargins = UIEdgeInsets.zero

in code, or from Interface Builder.


Try reducing the UITableView's row height in interface builder or code so that there is no padding. I had to increase the padding i did so in the interface builder for the tableview. However Daves answer might give you more control over modifying the cell view.

0

精彩评论

暂无评论...
验证码 换一张
取 消