如何使从nib文件加载的视图居中?

时间:2013-01-12 04:42:50

标签: ios view alignment nib

我在nib文件中定义了一个视图。 (名为FooView.xib

视图具有固定大小(小于屏幕大小)。

我想在视图控制器(名为FooViewController.[hm])中加载它,我希望视图能够在任何设备(通用应用程序)中显示在屏幕中央。

由于xib和viewcontroller类的名称具有这种对应关系,因此xib中的视图会自动加载。

然后我在-(void)viewDidLoad方法中编写代码以使我的视图居中,可以由self.view引用。我写的是这样的。

CGRect screenBounds = [[UIScreen mainScreen]bounds];
self.view.center = CGPointMake(screenBounds.size.width/2, screenBounds.size.height/2);

它不起作用。当我修改self.view.frame = ...时,它也不会起作用。

我检查了self.view.centerself.view.frame的值。他们确实改变了,但我没有看到模拟器有任何变化。

1 个答案:

答案 0 :(得分:1)

在xib文件中,确保已禁用自动布局。

viewController.m中的

:( *编辑:将它放在viewDidAppear中,不在viewDidLoad中)

[self.view addSubview:myView];
myView.center = self.view.center;