Reputation: 20115
On a UITableViewCell
with UITableViewCellStyleSubtitle
styling, I'm setting the imageView.image
, textLabel.text
, and detailTextLabel.text
. There's white 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?
Upvotes: 3
Views: 8044
Reputation: 1761
In iOS8 you can set
tableView.layoutMargins = UIEdgeInsets.zero
in code, or from Interface Builder.
Upvotes: 2
Reputation: 8138
Just remove table separator:
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Upvotes: 2
Reputation: 11
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.
Upvotes: 1
Reputation: 243156
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
}
Upvotes: 8