什么时候UIViewAutoresizing灵活的高度+顶部或高度+底部有意义吗?它有什么作用?

时间:2012-08-29 20:22:38

标签: ios uikit

具有UIView高度+顶部或高度+底部的UIViewAutoresizing的自动调整大小行为是什么?这有意义吗?其中一个边距或视图本身是否优先?我刚刚发现我不小心将视图UIViewAutoresizing设置为UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin,这导致视图在其父级调整大小时调整为0高度。

2 个答案:

答案 0 :(得分:10)

这是自动调整的工作原理:

假设父视图的高度为400,您的视图设置为y = 100,height = 200

这意味着,您的视图上方有100个像素,视图有200个像素,视图下方有100个像素。

使用flexibleHeight和flexibleTop,这意味着当父视图框改变时,它将保持底部100像素固定,并在顶部边距和高度之间按比例分割剩余部分

因此,如果你在父母身上从400高度移动到300高度,这意味着它将使用100作为底部边距并按比例分割剩余部分200,留下你的y = 66.666和高度= 133.333

如果你从400高度到100高度,它仍将使用那100个作为底部边距,为顶部边距和高度留下0个空间,留下你的y = 0,高度= 0

答案 1 :(得分:0)

当父视图调整大小时,

UIViewAutoresizingFlexibleTopMargin将保持底部边距不变,UIViewAutoresizingFlexibleHeight将根据剩余高度的父高度按比例更改其高度。

我没有看到UIViewAutoresizingFlexibleHeight的多少用处。我已经使用UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth来获取一个视图,其中包含一些文本以粘贴到我父视图的底部,其高度恒定,与设备的方向无关。