要向UITableViewController
添加视图,我将视图添加到navigationController
如下:
self.navigationController?.view.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
view.rightAnchor.constraint(equalTo: (self.navigationController?.view.rightAnchor)!).isActive = true
view.bottomAnchor.constraint(equalTo: (self.navigationController?.view.bottomAnchor)!).isActive = true
view.widthAnchor.constraint(equalToConstant: 70).isActive = true
view.heightAnchor.constraint(equalToConstant: 120).isActive = true
但是当您要推送新的ViewController
时,它将保留添加的视图(myView
)。
我试图将myView
添加到view
和tableView
中,如下所示:
self.view.addSubview(myView)
self.tableView.addSubview(myView)
,但是两者都不起作用。
我知道我可以使用UIViewController
并添加一个UITableView
,然后将myView
添加到UIViewController
会更容易。
我应该将myView
添加到另一个视图吗?
答案 0 :(得分:1)
UITableViewController的视图是UITableView,因此无法将子视图添加到表顶部的控制器。
您必须派生自UIViewController以获得完整的布局控制。 代替使用UITableViewController,而是使用UIViewController并将UITableView放入其中。
答案 1 :(得分:0)
是的,可以在UITableViewConroller中使用
let bottomView = UIView()
bottomView.backgroundColor = .red // or your color
bottomView.frame = CGRect(x: 0, y: UIScreen.main.bounds.size.height - 78, width: tableView.frame.size.width, height: 78) // 78 or your size of view
navigationController?.view.addSubview(bottomView)
tableView.tableFooterView = UIView()
bottomView.backgroundColor = .red // or your color
bottomView.frame = CGRect(x: 0, y: UIScreen.main.bounds.size.height - 78, width: tableView.frame.size.width, height: 78) // 78 or your size of view
navigationController?.view.addSubview(bottomView)
tableView.tableFooterView = UIView()[enter image description here][1]