我最近不得不将我的一个视图控制器从一个表视图控制器更改为一个带有UITableView的普通视图控制器,并且在这样做时,我遇到了多个问题。
我终于得到了我的数据来填充我的表格,但现在我的内容就在屏幕外,不会滚动或让我点击一个单元格(看起来像表格视图从(-20,0)开始) :
[![在此处输入图像说明] [1]] [1]
我只需要要约束的元素,UITableView和它下方的小白视图。
所以我将约束设置为UITableView:Top:Superview,Trailing:Superview,Leading:Superview,Bottom:View + 2;和视图:宽度:320,高度:50,底部:底部布局+2,对齐中心X:超级视图。非常简单的约束,但是当我运行时,我得到了这个:
我不明白为什么。在Main.Storyboard(预览版)中,我得到了这个:
所以根据预览,它应该显示完美。有没有人有任何想法我为什么会这样做?
答案 0 :(得分:0)
UINavigationBar
中有UIViewController
。因此,您应该将UITableView
的顶部约束等于零设置为TopLayoutGuide
而不是superView
。
它会将您的TableView完美地设置在NavigationBar下方。现在它落后于NavigationBar。
答案 1 :(得分:0)
在对此进行故障排除的某个地方,我看到了一个尝试放置
的建议self.view.translatesAutoresizingMaskIntoConstraints = false
进入viewDidLoad,这一行代码破坏了我的生活了几天。尽管我很沮丧,但我很高兴我发现了这个问题。希望这有助于某人。