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

Hea*_*ers 2 uikit ios

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

Ism*_*ael 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