UIView:帧大小与边界大小不同?

时间:2010-01-04 17:10:09

标签: ios uiview frame bounds

是否可能有一个UIView,其边界大小与其帧大小不同?

我正在尝试创建一个带有“{{0,0},{320,367}}”框架和“{{0,15},{320,337}}”边界的UIView,但我无法使用setBounds()和setFrame()。

我从文档中得到改变边界或框架相应地更改框架或边界但我认为可以为这些文件设置不同的值。

非常感谢。

2 个答案:

答案 0 :(得分:4)

是的,当设备旋转时,您的整个视图层次结构将使用CGAffineTransform进行转换。在这种情况下,您的边界和框架可能具有不同的值。确保视图位置的最佳方法是为大小设置其bounds属性,并为该位置设置其中心属性。

答案 1 :(得分:2)

典型地:
1.边界在(0,0),而框架(和中心)给出视图的位置 2.边界和框架具有相同的宽度和高度。

<强>更新
听起来您想在之前较大的特定视图下方添加一个按钮 在这种情况下,我会创建一个占据整个空间的新视图。然后,我会将现在较小的特定视图添加到所需位置作为子视图。最后,我将新按钮添加到所需位置作为新的全空间视图的另一个子视图 您可以在Interface Builder或代码中执行此布局。