从下图中可以看出,这是一个专注的自定义UITableViewCell。
聚焦时,我将其contentView的背景颜色设置为黑色,如下所示:
//Where next is the next cell being focused.
next.contentView.backgroundColor = UIColor.black
此外,当我通过StoryBoard检查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
设置为整个屏幕宽度?
https://i.stack.imgur.com/mAoUh.png
图片显示了我的tableviewcell的contentView的边距(它们与tableviewcells相同)
https://i.stack.imgur.com/20X74.png
图像显示我如何为tableView添加对齐约束。
(对于帖子来说太大了,链接的原因)
答案 0 :(得分:3)
鉴于您正在使用UITableViewController,您几乎无法控制其行为,也无法控制控制器中tableView的约束。 我建议你在UIViewController中调整tableView,将你的约束设置为superview的前导和尾随,而不是它的边距。