2010-06-08 55 views
4

我想在当前视图中添加子视图,此子视图为300x300。当我添加子视图使用在中心添加子视图 - iPad

[self.view addSubview:md.view]; 

md.view将出现在位置(0,0)有没有什么办法可以添加子视图在中心?

感谢

+0

你或许应该接受一个答案... – 2010-06-08 10:38:23

+0

当我试图接受答案,说我必须等9分钟。现在接受.. :) – Saurabh 2010-06-08 10:44:14

回答

15

您可以设置视图的center属性:

md.view.center = self.view.center; 

或者你可以explicetly设置md.view帧,这样只要你想它会居中。

+0

当我使用这个,子视图不会保留在中心,当我改变方向景观!我正在使用UIActivityView将其添加到中心。我怎样才能让它在两个方向中心? – applefreak 2013-07-21 18:41:26

+0

@AppleDeveloper,为视图设置适当的自动调整掩码,或者在使用自动布局时设置约束 – Vladimir 2013-07-22 07:38:18

3

使用

CGRect bounds = self.view.bounds; 
md.view.center = CGPointMake(bounds.size.width/2, bounds.size.height/2); 

之前或-addSubview:行之后。

2

您可以准确地指定要在viewDidLoad方法这样被放置在父视图中的子视图如下:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    SubView1Controller *subView1Controller=[[[SubView1Controller alloc] initWithNibName:@"SubView1" bundle:nil] autorelease]; 
    CGRect r = [subView1Controller.view frame]; 
    r.origin.x = 50; 
    r.origin.y = 50; 
    [subView1Controller.view setFrame:r]; 
    [self.view insertSubview:subView1Controller.view atIndex:0]; 
}