子视图不会调整大小与超级视图的比例

时间:2016-07-08 18:22:15

标签: swift ios9 xcode7

我有一个gameView(只是带网格线的蓝色视图)。我已将此游戏视图固定在屏幕的底部和两侧,并将高度设置为475.当用户点击此视图时,我找到该点并创建一个自定义视图(fenceView),其中包含单元格的原点和框架(宽度和高度)。在fenceView的init方法中,我创建了一个新的栅栏图像UIImageView,并将其添加为子视图。 Potrait View

由于自动布局,当旋转设备时,gameView的宽度会相应改变。但问题是,添加的fenceViews不会调整大小。我试图为gameView和fenceView设置autoresizingMask = [.FlexibleWidth,.FlexibleHeight]。但它没有解决问题。 Landscape mode

我们可以看到在横向模式下,栅栏图像无法正确显示。我正在做的可能是一个小错误,但是两天后我无法解决这个问题。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

.FlexibleHeight不需要使用,因为总高度始终为475.尝试设置autoresizingMask = [.FlexibleWidth.FlexibleLeftMargin.FlexibleRightMargin ]。

对于较大/较小的宽度,宽度需要改变以及X位置。灵活的左右边距都会增加两侧的宽度。