以编程方式将表添加到导航控制器视图不起作用
Posted
技术标签:
【中文标题】以编程方式将表添加到导航控制器视图不起作用【英文标题】:Adding table to navigation controller view programatically doesnt work 【发布时间】:2017-10-18 09:07:28 【问题描述】:当尝试添加一个表来覆盖视图控制器的整个视图时:
func setConstraints()
self.view.addSubview(statisticsTable);
statisticsTable.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true;
statisticsTable.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true;
statisticsTable.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true;
statisticsTable.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true;
表格不显示。我是否正确假设在导航控制器的上下文中的 topAnchor 是指视图控制器视图的顶部(导航栏结束的位置?)。这看起来很简单,所以我显然在这里遗漏了一些明显的东西。谢谢。
【问题讨论】:
【参考方案1】:每当您在代码中创建视图并尝试向该视图添加约束时,您必须记住设置 translatesAutoresizingMaskIntoConstraints
func setConstraints()
self.view.addSubview(statisticsTable);
// try to add this before you add your constraints to the view
statisticsTable.translatesAutoresizingMaskIntoConstraints = false
statisticsTable.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true;
statisticsTable.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true;
statisticsTable.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true;
statisticsTable.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true;
【讨论】:
欢迎。看看它是否有效,这样你就可以检查问题是否正确,这样它也可以帮助其他人。以上是关于以编程方式将表添加到导航控制器视图不起作用的主要内容,如果未能解决你的问题,请参考以下文章