2016-04-30 101 views
0

我有一个UIView buttonView,并给它一个相等的高度约束到超级UIView 0.4乘数。该框架被正确调整,但buttonView的子视图不可见。但是,当我点击按钮应该在的位置时,触发动作。 当我将buttonViews约束更改为固定高度时,不会发生这种情况。 如果你愿意,我可以更详细地了解细节,但有人遇到类似情况?AutoLayout同等高度隐藏子视图

编辑

That's the custom viewCustom View in simulator

应该有两个按钮,其中标签下的白色空间。当我点击白色空间时,定时器运行,但按钮不可见。

+1

张贴您的约束和问题图片 –

+0

没有准确地得到您的问题。提供更多详细信息 – Lion

+0

也提供检查员一侧。 –

回答

0

问题是我将圆角设置为框架宽度的一半。半径变得很大,完全隐藏了视野。我改变了它,所以在设置边界之后,我改变了圆角半径。对不起,但感谢您的帮助!

3

我看了一下这个项目,我在几个地方看到的问题是,自动布局和手动框架转换都被使用,这可能会非常棘手。我看到了一些特定的事情,您可能需要修改以使视图能够以不同的大小/方向正确地进行调整和渲染:

1)CustomAudioLearn视图从xib加载视图并将其添加为子视图。但是,它并未在此子视图上设置约束,以确保子视图始终拥抱父视图的边缘。因此,通过故事板中的自动布局更改CustomAudioLearn视图的大小会导致基于xib的子视图始终保持相同的大小。您应该为子视图添加约束,或者在CustomAudioLearn中覆盖layoutSubviews(),并在其中包含self.customView.frame = self.boundsself.customViw.layoutIfNeeded()。另外,我建议删除行self.customView.translatesAutoresizingMaskIntoConstraints = false

2)同样,RecordButtonView设置上awakeFromNib()其圆角半径,但布局发生后,这不再是正确的半径。因此,您应该再次考虑覆盖layoutSubviews()或类似的位置,以便每次布局更新时调整半径。 3)最后,故事板中RecordButtonView的超级视图被设置为高度约束70,优先级为1000.如果您希望RecordButtonView扩展到可用空间,则应该降低该高度的优先级约束,以便RecrodButtonView和1:1宽高比的比例宽度在确定超视图的高度时优先考虑。否则,它将始终为70分,否则会有冲突的限制。