我正在尝试使用下面的代码将微调器置于页面中间。
self.aSpinner.center = self.view.center;
然而,当我运行程序时,微调器似乎不在中心
有什么方法可以解决这个问题吗?
编辑:
我发现了问题。并不是微调器不在中心,而是子视图的界限不同于超级视图。
我在我的代码中做了类似的事情:
self.navcon = [[UINavigationController alloc]init];
self.photoViewTable = [[PhotoTableViewController alloc]init];
self.loadingPage = [[LoadingPageViewController alloc]init];
[self.photoViewTable.view addSubview:loadingPage.view];
[navcon pushViewController:photoViewTable animated:NO];
[self.window addSubview:navcon.view];
如何将loadingPage
视图的大小设置为等于父视图?
答案 0 :(得分:9)
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)];
答案 1 :(得分:1)
设置中心属性可能还不够。如果您的帧正在调整大小,我还将设置微调器视图的自动调整大小:
spinner.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
spinner.center = CGPointMake(CGRectGetWidth(self.view.bounds)/2, CGRectGetHeight(self.view.bounds)/2);
答案 2 :(得分:1)
尝试在ViewDidAppear上进行,有正确的self.bounds视图 我不检查self.center。
self.aSpinner.center = CGPointMake(self.view.bounds.width/2.0, self.view.bounds.width/2.0)
工作正确! 检查自己有视图或自我视图