更改视图的父级

时间:2015-06-09 22:09:50

标签: ios swift uikit

我有一个表格视图,在我从数据库中获得一些结果后,我会在某个时刻显示

@IBOutlet weak var resultSetView: UITableView!

我已经在ViewController

中创建了这个表视图

我想将这个元素放在另一个视图中,就像Dock视图一样可能是以编程方式。根据我的要求。 在另一种情况下,也许我想将它放在另一个位置。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

类ViewController:UIViewController {

 @IBOutlet weak var resultSetView: UITableView!
 @IBOutlet weak var nestedDockView: UIView!

override func viewDidLoad() {
    super.viewDidLoad()


    nestedDockView.addSubview(resultSetView);


}

答案 1 :(得分:1)

假设您的tableView被保留。您可以轻松地执行此操作:

[tableView removeFromSuperview];

[dockView addSubview:tableView];

执行此操作时,请注意:

重新显示视图时,它将从新父级继承新的布局约束,这可能与原始视图不同。

如果您打算在VC中重新表达它,它应该可以工作,但在s / w设计和封装方面它确实非常混乱。