2010-06-08 57 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]; 
}