2010-01-04 72 views
2

是否有可能有一个UIView的边界大小不同的帧大小?UIView:边界大小不同的帧大小?

我试图用“{{0,0},{320,367}}”框架和“{{0,15},{320,337}}}”创建一个UIView,但我无法完成使用setBounds()和setFrame()。

我从文档中获得了相应地更改边界或帧更改的框架或边界,但我认为可以为这些论文提供不同的值。

非常感谢。

回答

2

通常情况下:
1.边界位于(0,0),而帧(和中心)给出视图的位置。
2.边界和框架将具有相同的宽度和高度。

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

+0

我正在尝试调整视图的大小,以便在它下面有一个空白区域。因为我想在这个空白区域添加一个按钮,所以我希望视图的大小可以调整,但是使用原始的框架大小,所以我的按钮是可触摸的。 – Vivi 2010-01-05 08:43:34

+0

我的答案已更新为建议的布局。 – gerry3 2010-01-05 17:49:01

+0

感谢您的建议,但我想我可能有这样做的问题,因为我的视图和控制器有代表和东西。但我会试一试:) – Vivi 2010-01-08 15:47:34

4

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