我在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的值。它们确实发生了变化,但是我看不到模拟器中的任何变化。

最佳答案

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

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

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

关于ios - 如何居中从nib文件加载的 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14290313/

10-11 01:09
查看更多