1

我有一个控件和一个容器,首先指定容器的宽度。之后,我将控件添加到容器中。如何告诉容器将子控件水平放置在中心?我想自己指定y值。

4

2 回答 2

11

试试这个:

childControl.center = parentControl.center;

或者如果您只想水平居中:

childControl.center = CGPointMake(childControl.center.x,parentControl.center.y);

比做数学容易。

编辑: 这仅在超级视图与 parentControl 视图具有相同大小时才有效,要在与其超级视图大小不同的视图中执行此操作,您可以执行以下操作:

childControl.center = CGPointMake(childControl.center.x,
                                  parentControl.bounds.size.height/2);

我没有测试上面的行,但它应该可以工作,如果它不让我知道,我会自己测试它。

于 2012-07-01T03:26:23.837 回答
5

数学是:

control.x = (container.width - control.width) / 2

如果这不是您想要的,请告诉我,我会尽力提供帮助!

于 2012-07-01T03:21:47.273 回答