【问题标题】:iOS auto layout, how to resize super view to fit all subviewsiOS自动布局,如何调整超级视图以适应所有子视图
【发布时间】:2013-12-24 22:47:28
【问题描述】:

我的 UI 出现自动布局问题

在底部,我有一个高度约束为 0 的容器视图,它将在运行时包含一些子视图。我也有一个容器视图的高度约束的 IBOutlet,在运行时当我知道视图的高度时,我将高度约束常量属性设置为正确的高度。在设置多行详细信息标签文本和容器视图高度约束后,我希望超级视图的大小增加。最终发生的是超级视图保持相同的大小,所有标签的高度都降低了,容器视图与所有内容重叠。任何帮助将不胜感激,我已经在这多年了。

谢谢。

【问题讨论】:

  • 如果您只是从代码中设置框架,您应该能够相应地管理容器和子视图的框架以符合您的意愿..
  • 我对自动布局的理解是你不应该直接设置视图框架。对吗?
  • 好吧,我也遇到过类似的问题,因为停止使用它,所以我想你可以有一个观点
  • 是的,这是真的——在使用自动布局时,您不应该设置任何框架。你对 superview 有什么限制?
  • 对superview没有限制。

标签: ios xcode interface-builder autolayout


【解决方案1】:

你在改变约束后打电话给layoutIfNeeded!? 您的代码应类似于:

[[self buttonEdgeConstraint] setConstant:200];
[UIView animateWithDuration:0.5 animations:^{
    [[self button] layoutIfNeeded];
}];

【讨论】:

    猜你喜欢
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    相关资源
    最近更新 更多