我想展示一个UIView,里面有一个标签,上面写着:"你没有帖子",update.count == 0
时。我尝试这样做但是当我尝试时应用程序崩溃了。
我做错了什么?这是我的代码:
let noPostView: UIView = {
let iv = UIView()
iv.backgroundColor = UIColor.whiteColor()
//iv.image = UIImage(named: "iphoneSample")
//iv.clipsToBounds = true
return iv
}()
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if updates.count == 0 {
noPostView.anchorToTop(tableView.topAnchor, left: tableView.leftAnchor, bottom: tableView.bottomAnchor, right: tableView.rightAnchor)
noPostView.heightAnchor.constraintEqualToConstant(100).active = true
noPostView.widthAnchor.constraintEqualToConstant(100).active = true
tableView.addSubview(noPostView)
}
return updates.count
}
在更多内容中出现此错误:
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x61000067f280 "UIView:0x7fdbcbd21490.top"> and <NSLayoutYAxisAnchor:0x610000660a40 "UITableView:0x7fdbcd86a600.top"> because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal.'
答案 0 :(得分:1)
将tableView.addSubview(noPostView)
置于约束之上。
如果您正在限制所有4方,你也不应该需要heightAnchor
和widthAnchor
吗?
tableView.addSubview(noPostView)
noPostView.anchorToTop(tableView.topAnchor, left: tableView.leftAnchor, bottom: tableView.bottomAnchor, right: tableView.rightAnchor)