自定义 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)
现在我可以编辑子视图控制器的宽度和高度了。
我正在尝试设置 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)
现在我可以编辑子视图控制器的宽度和高度了。