自定义 child 视图控制器的宽度和高度不起作用

Customizing width and height for child view controller does not work

我正在尝试设置 child 视图控制器框架的宽度和高度,但它不起作用。这是我正在尝试做的事情:

  let frame = UIScreen.main.bounds
  let vc = FieldsTableViewController()
  addChild(vc)
  view.addSubview(vc.view)        
  vc.didMove(toParent: self)
  vc.view.frame = CGRect(x: (frame.maxX+frame.minX)/2, y: 300, width: 200, height: 5)

x 和 y 位置设置正确,但无论我尝试什么,我似乎都无法设置宽度和高度。奇怪的是,我在另一个 vc 中使用相同的 child vc,代码与上面完全相同,而且我在那里设置宽度和高度没有问题。

我也尝试过使用 Auto-Layout 但无法使其适用于 child 视图控制器(这可能吗?我没有找到任何示例)。

感谢您的帮助。

我找到了解决方法。 我终于意识到问题发生在我设置视图控制器的视图时,如下所示:

let v = PlayerSelectionView()
view = v

我不确定为什么会导致所描述的问题,但是将我的视图添加为子视图而不是修复它:

let v = PlayerSelectionView()
v.frame = view.frame
view.addSubview(v)

现在我可以编辑子视图控制器的宽度和高度了。