我想在当前视图中添加子视图,此子视图为300x300。当我使用
添加子视图时[self.view addSubview:md.view];
md.view将出现在位置(0,0)有没有办法在中心添加子视图?
由于
答案 0 :(得分:15)
您可以设置视图的center
属性:
md.view.center = self.view.center;
或者您可以明确地为md.view设置框架,以便它可以根据需要居中。
答案 1 :(得分:3)
使用
CGRect bounds = self.view.bounds;
md.view.center = CGPointMake(bounds.size.width / 2, bounds.size.height / 2);
在-addSubview:
行之前或之后。
答案 2 :(得分: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];
}