iOS:如何将控件放在父容器的中心?

Bin*_*hen 1 iphone ios

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

Ras*_*spu 11

试试这个:

childControl.center = parentControl.center;
Run Code Online (Sandbox Code Playgroud)

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

childControl.center = CGPointMake(childControl.center.x,parentControl.center.y);
Run Code Online (Sandbox Code Playgroud)

比做数学更容易.

编辑: 这仅在superview具有相同大小的parentControl视图时才有效,为了在视图中具有相同大小的超级视图,可以执行以下操作:

childControl.center = CGPointMake(childControl.center.x,
                                  parentControl.bounds.size.height/2);
Run Code Online (Sandbox Code Playgroud)

我没有测试过上面这一行,但它应该有用,如果它不让我知道,我会测试它自己.


Wen*_*idd 5

数学是:

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

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

  • 您可能希望"floor()"结果,以免在非视网膜显示器上出现错位渲染. (3认同)