【问题标题】:Why does my view move around, when I change its center?当我改变它的中心时,为什么我的视图会四处移动?
【发布时间】:2009-05-12 19:13:31
【问题描述】:

我认为框架的来源决定了视图的位置。但是当我像这样改变中心属性时

myView.center = CGPointMake(myView.center.x - 20, myView.center.y);

我的视图将向左移动 20 个单位。我想更改中心点以相对于该点进行一些旋转。

【问题讨论】:

    标签: iphone cocoa-touch uikit


    【解决方案1】:

    如果要更改旋转点,请设置 anchorPoint。 anchorPoint 在视图中的图层上,但应用于视图的旋转仍然使用锚点。

    【讨论】:

      【解决方案2】:

      来自 UIView 的Apple API:

      中心在 其父视图的坐标系。 设置此属性会更改 框架属性的值 相应地。

      更改框架矩形 自动重新显示接收器 不调用 drawRect: 方法。 如果你想要 drawRect: 方法 框架矩形时调用 更改,设置 contentMode 属性 到 UIViewContentModeRedraw。

      所以本质上,更改 center、frame 或 bounds 将适当地重新定位和调整视图大小,相应地更改其他两个属性。

      【讨论】:

      • 所以这意味着,不可能将中心点设置在视图中心以外的其他位置,因为它总是会自动校正,对吧?
      • 没错。无论您做什么,它始终代表视图的中心。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 2015-08-29
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多