我无法将活动指示器置于高度的中心位置。在添加导航控制器之前很好,之后它是水平居中但不是垂直居中。这是照片和代码。
这是没有导航控制器时居中的代码。
_loadingView.center = self.view.center;
[self.view addSubview:_loadingView];
请帮忙。谢谢!!
答案 0 :(得分:1)
UIViewController
的视图在其父坐标空间中报告其center
坐标,这就是它垂直偏移导航栏高度的原因。
如果您想以与现在相似的方式放置指标,请自行计算中心坐标:
CGPoint center = CGPointMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0)
_loadingView.center = center;
[self.view addSubview:_loadingView];
每当主视图的边界发生变化时,请务必更新此内容,即在另一个答案中提及的-viewDidLayoutSubviews
中。
但是,通过采用Auto Layout并设置两个中心约束(每个轴一个),可以更新和简化这一切。您可以在Interface Builder模式或代码中执行此操作,请查看文档。
答案 1 :(得分:0)
您可以尝试这种方式请点击以下链接
- (void) viewDidLayoutSubviews {
_loadingView.center = self.view.center;
}
答案 2 :(得分:0)
它可以帮助您解决问题
_loadingView = CGPointMake(self.view.frame.size.width / 2.0, (self.view.frame.size.height - navigationBarHeight - tabBarHeight) / 2.0)
[self.view addSubview:_loadingView];
答案 3 :(得分:0)
答案 4 :(得分:0)
试试这个
style
它的不同观点