我無法將活動指示燈相對於高度居中。在我添加一個導航控制器之前,它是好的,之後它是水平居中但不垂直。這是照片和代碼。居中導航欄時的活動指示燈
這裏是在沒有導航控制器到中心的代碼。
_loadingView.center = self.view.center;
[self.view addSubview:_loadingView];
請幫忙。謝謝!!
我無法將活動指示燈相對於高度居中。在我添加一個導航控制器之前,它是好的,之後它是水平居中但不垂直。這是照片和代碼。居中導航欄時的活動指示燈
這裏是在沒有導航控制器到中心的代碼。
_loadingView.center = self.view.center;
[self.view addSubview:_loadingView];
請幫忙。謝謝!!
試試這個
_loadingView.center = self.navigationController.view.center;
[self.navigationController.view addSubview:_loadingView];
它的不同的看法
它的工作!!謝謝:) – Mustafa
你可以嘗試這樣的,請檢查下面的鏈接也
- (void) viewDidLayoutSubviews {
_loadingView.center = self.view.center;
}
不!它變得更多而不是起牀。 – Mustafa
它會幫助你解決你的問題下在屬性上線棒
_loadingView = CGPointMake(self.view.frame.size.width/2.0, (self.view.frame.size.height - navigationBarHeight - tabBarHeight)/2.0)
[self.view addSubview:_loadingView];
的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並設置兩個中心約束(每個軸一個約束),可以全部更新和簡化。您可以在界面構建器模式或代碼中執行此操作,請檢查文檔。
嘗試裏面** - (空)viewWillAppear中:(BOOL)動畫**'_loadingView.center = CGPointMake(self.view.frame.size。 width/2.0,(self.view.frame.size.height - navigationBarHeight - tabBarHeight)/ 2.0);' –
試試這個CGFloat navigationBarHeight = self.navigationController.navigationBar.frame.size.height; CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height; _loadingView.center = CGPointMake([UIScreen mainScreen] .bounds.size.width/2.0,([UIScreen mainScreen] .bounds.size.height - navigationBarHeight --tabBarHeight)/ 2.0) –
不可以。沒有工作。和以前一樣。 – Mustafa