我在做一些非常简单的事情时遇到了很多麻烦。我有一个 viewController 和一个 subViewController,它们都带有从 nib 加载的视图。为澄清起见,在笔尖中,父视图的大小为 1024 x 748,子视图的大小为 640 x 480。
在 viewController 的 viewDidLoad 上,我添加了 subViewController 的视图,如下所示:
[self.view addSubview:self.subViewController.view];
NSLog(@"subview.frame:%@",NSStringFromCGRect(self.subViewController.view.frame));
日志输出:
subview.frame:{{0, 0}, {640, 480}}
然后,只是为了测试一下,我使用 setCenter 尝试将子视图重新定位在父视图中的相同位置,如下所示:
CGPoint newCenter = CGPointMake(0,0); //should stay at the same position..
[self.subViewController.view setCenter:newCenter];
NSLog(@"after changing center.subview.frame:%@",NSStringFromCGRect(self.subViewController.view.frame));
日志输出:
after changing center. subview.frame:{{-320, -240}, {640, 480}}
现在我有一种感觉,可能是笔尖出了问题,我猜这与弹簧和支柱/尺寸和位置选项有关。我只能猜测是这个,因为这是我对 IB 最不了解的功能。
关于可能导致此问题的任何其他想法?关于如何在 IB 中设置视图控制器的视图,以便它们自动与其他视图控制器的视图对齐,你们有什么一般的提示吗?设置好之后, setCenter 是动态移动它们的正确方法吗?