Iphone Cocoa Touch:如何添加在其父视图中水平居中的子视图?

Iphone Cocoa Touch:如何添加在其父视图中水平居中的子视图?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我的子视图(子视图)的宽度小于父视图 [parentView addSubview:childView]; 我想知道如何才能在父视图中添加水平居中(垂直方向我希望它保持不变)的子视图。我想用代码来做这件事。现在,它只在父对象的左上角添加。有什么想法吗 谢谢 MyView *v = [[MyView alloc] init]; CGFloat parentWidth = parentview.bounds.size.width; CGRect frame = CGRectMake(floor((

我的子视图(子视图)的宽度小于父视图

[parentView addSubview:childView];
我想知道如何才能在父视图中添加水平居中(垂直方向我希望它保持不变)的子视图。我想用代码来做这件事。现在,它只在父对象的左上角添加。有什么想法吗

谢谢

MyView *v = [[MyView alloc] init];
CGFloat parentWidth = parentview.bounds.size.width;
CGRect frame = CGRectMake(floor((parentWidth - v.width)/2),
                          0,
                          v.width,
                          v.height);
v.frame = frame;
[parentview addSubview:v];

显然,您需要将v.height和width替换为实际宽度,并更改变量名称以匹配您自己的名称。这里的关键是将父视图的宽度减去视图,再除以2,效果非常好,谢谢!!但是--v.width,v.height应该是v.frame.size.width,v.frame.size.height。