在具有UITableViewCell
样式的UITableViewCellStyleSubtitle
上,我设置了imageView.image
,textLabel.text
和detailTextLabel.text
。电池周围有白色衬垫。如何摆脱填充,以便我的所有图像都像下面的Youtube应用程序一样互相触摸?
答案 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。