【发布时间】:2020-11-18 10:02:08
【问题描述】:
我正在使用 View.addChild 方法添加子视图
包含的视图显然是 350 像素。但是,子视图占用了包含视图的所有空间......所以我的想法是强制子视图小于其父视图......但我的代码不起作用。我可以告诉你,如果我取消注释这两行它几乎可以工作,但是子视图不会占据我想要的大小并且它会阻止其他元素。这是我的位置:
child.view.translatesAutoresizingMaskIntoConstraints = false
let safeArea = view.layoutMarginsGuide
//child.view.topAnchor.constraint(equalTo: tableContainer.topAnchor).isActive = true
// child.view.bottomAnchor.constraint(equalTo: tableContainer.bottomAnchor).isActive = true
child.view.leftAnchor.constraint(equalTo: tableContainer.leftAnchor).isActive = true
child.view.rightAnchor.constraint(equalTo: tableContainer.rightAnchor).isActive = true
child.view.heightAnchor.constraint(equalToConstant: 250).isActive = true
self.addChild(child)
让我说得很清楚,我的目标是让子视图达到 250 像素。谢谢。
【问题讨论】:
-
如果您要添加“heighAnchor”,请不要添加顶部和底部锚点。只需添加一个顶部锚点、底部锚点或将其居中。如果您添加顶部和底部,它可能会覆盖您现有的高度。
-
您可以设置顶部和底部锚点或其中之一和高度,但您不能设置全部三个。设置顶部和底部意味着高度。也许您想设置中心和高度?此外,除非您需要 RTL 语言环境中的特定布局,否则您应该使用前导/尾随而不是左/右
-
@Paulw11 我认为他正在使用高度,他没有明确定义,而是基于注释掉的约束,他指的是高度。但是,宽度的原理也相同。
-
是的,我刚刚意识到并更新了我的评论
-
@xTwisteDx 你可以清楚地看到,topanchor 和bottom anchor 被注释掉了。所以我的问题仍然保持原样。
标签: ios swift view constraints childviews