【问题标题】:UIView : frame size different of bounds size?UIView:框架大小与边界大小不同?
【发布时间】:2011-01-01 07:55:18
【问题描述】:

是否可以让 UIView 的边界大小与其帧大小不同?

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

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

非常感谢。

【问题讨论】:

    标签: ios uiview frame bounds


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我正在尝试调整视图的大小,以便在其下方有一个空白区域。因为我想在这个空白处添加一个按钮,所以我希望调整视图的大小以修改边界但使用原始帧大小,以便我的按钮是可触摸的。
      • 感谢您的建议,但我想我这样做可能会遇到问题,因为我的视图和控制器有代表和东西。但我会试一试:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多