Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何将UITableViewCell设置为全屏幕宽度? 说明:_Swift_Uitableview_Swift3_Tvos - Fatal编程技术网

Swift 如何将UITableViewCell设置为全屏幕宽度? 说明:

Swift 如何将UITableViewCell设置为全屏幕宽度? 说明:,swift,uitableview,swift3,tvos,Swift,Uitableview,Swift3,Tvos,如下图所示,这是一个聚焦的自定义UITableViewCell 聚焦时,我将其contentView的背景色设置为黑色,如下所示: //Where next is the next cell being focused. next.contentView.backgroundColor = UIColor.black 此外,当我通过故事板检查contentView的宽度时,它清楚地显示“1904”,而不是预期的“1920”。它是灰色的,我不能修改它 很明显,contentView并没有占据整

如下图所示,这是一个聚焦的自定义UITableViewCell

聚焦时,我将其contentView的背景色设置为黑色,如下所示:

//Where next is the next cell being focused.
next.contentView.backgroundColor = UIColor.black
此外,当我通过故事板检查contentView的宽度时,它清楚地显示“1904”,而不是预期的“1920”。它是灰色的,我不能修改它

很明显,contentView并没有占据整个屏幕的宽度

我所尝试的: 我经历了多种不同的可能性

我首先认为这与tableView的contentInset有关:

//Inside my tableView controller
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
然后我认为这是tableCell的布局边距:

//Inside my custom UITableCell
self.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0)
然后我尝试更改UITableCell的contentView框架:

//Inside my custom UITableCell
self.contentView.frame = UIEdgeInsetsInsetRect(self.bounds, UIEdgeInsetsMake(0, 0, 0, 0))
我终于尝试了某种形式的
self.frame
self.contentView.frame

//In my UITableCell
self.contentView.frame = CGRect.init(x: self.bounds.maxX, y: self.bounds.maxY, width: self.bounds.width + 100, height: self.bounds.height)
问题: 如何将
UITableViewCell
设置为屏幕的全宽

截图:

显示我的tableviewcell的contentView页边距的图像(它们与tableviewcell相同)

显示如何为tableView添加对齐约束的图像


(对于post来说太大,链接原因)

如果您使用的是UITableViewController,那么您对其行为几乎没有控制权,对控制器中tableView的约束也没有控制权。
我建议您在UIViewController中切换tableView,注意将约束设置为superview的前导和尾随,而不是其边距。

您能显示tableView的约束吗?是否已检查是否已将其设置为superview的边距?页边距通常为8磅,因此在两侧,它可以解释您期望的和您得到的之间16磅的差异。您是否尝试过self.layoutIfNeeded在TableView的单元格类中尝试它在TableView的单元格类中尝试您可以在控制器(在故事板中)中选择TableView的左侧或右侧约束并在尺寸检查器中检查第一个或第二个项目是否为SuperView.Training/Leading Margin?我并不是说,将边距设置为显式0的事实是enough@Ocunidee,将TableViewController更改为ViewController解决了我的问题。谢谢您可以将其添加为答案。我觉得TableViewController这样做很奇怪。