我在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.center
或self.view.frame
的值。他们确实改变了,但我没有看到模拟器有任何变化。
答案 0 :(得分:1)
在xib文件中,确保已禁用自动布局。
viewController.m中的:( *编辑:将它放在viewDidAppear中,不在viewDidLoad中)
[self.view addSubview:myView];
myView.center = self.view.center;