有导航栏时将 activity 指示器居中
Center the activity indicator when having navigation bar
我无法根据高度使 activity 指示器居中。在我添加导航控制器之前它很好,之后它水平居中但不是垂直居中。这是照片和代码。
这是在没有导航控制器时居中的代码。
_loadingView.center = self.view.center;
[self.view addSubview:_loadingView];
请帮忙。谢谢!!
你可以试试这个方法请检查下面link还有
- (void) viewDidLayoutSubviews {
_loadingView.center = self.view.center;
}
它将帮助您解决问题
_loadingView = CGPointMake(self.view.frame.size.width / 2.0, (self.view.frame.size.height - navigationBarHeight - tabBarHeight) / 2.0)
[self.view addSubview:_loadingView];
在属性检查器的顶部栏下方检查您的导航控制器和视图控制器。
UIViewController
的视图在其父坐标 space 中报告其 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 模式或代码中执行此操作,请查看文档。
试试这个
_loadingView.center = self.navigationController.view.center;
[self.navigationController.view addSubview:_loadingView];
不一样的看法
我无法根据高度使 activity 指示器居中。在我添加导航控制器之前它很好,之后它水平居中但不是垂直居中。这是照片和代码。
这是在没有导航控制器时居中的代码。
_loadingView.center = self.view.center;
[self.view addSubview:_loadingView];
请帮忙。谢谢!!
你可以试试这个方法请检查下面link还有
- (void) viewDidLayoutSubviews {
_loadingView.center = self.view.center;
}
它将帮助您解决问题
_loadingView = CGPointMake(self.view.frame.size.width / 2.0, (self.view.frame.size.height - navigationBarHeight - tabBarHeight) / 2.0)
[self.view addSubview:_loadingView];
在属性检查器的顶部栏下方检查您的导航控制器和视图控制器。
UIViewController
的视图在其父坐标 space 中报告其 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 模式或代码中执行此操作,请查看文档。
试试这个
_loadingView.center = self.navigationController.view.center;
[self.navigationController.view addSubview:_loadingView];
不一样的看法