2

我在 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.centeror的值self.view.frame。它们确实发生了变化,但我没有在模拟器中看到任何变化。

4

1 回答 1

1

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

在 viewController.m 中:(* 编辑:将其放在 viewDidAppear 中而不是 viewDidLoad 中)

[self.view addSubview:myView];
myView.center = self.view.center;
于 2013-01-12T05:03:45.083 回答