具有UIView
高度+顶部或高度+底部的UIViewAutoresizing
的自动调整大小行为是什么?这有意义吗?其中一个边距或视图本身是否优先?我刚刚发现我不小心将视图UIViewAutoresizing
设置为UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin
,这导致视图在其父级调整大小时调整为0
高度。
答案 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
来获取一个视图,其中包含一些文本以粘贴到我父视图的底部,其高度恒定,与设备的方向无关。