0
需要幫助。更改UINavigationController時的UINavigationBar高度
我有一些自定義視圖控制器,像Facebook應用程序中的菜單。 當然,這個控制器使用子控制器進行操作,它提供了將它們添加到「帶菜單的控制器的根視圖」的視圖。
由於某些設計原因,當菜單滑動時,中央視圖會縮放。 所以,問題是:當從navigationController的中央視圖初始化確定。 當我改變控制器到另一個導航控制器或相同的導航欄已經高度變化。見快照。
我該如何防止這種行爲?有任何想法嗎?
謝謝。 小姐:對不起,我的英語。
初始視圖:
然後某種菜單滑動的:
然後我改變導航控制器([故事板instantiateViewControllerWithIdentifier:@ 「標識符」]);
和向後滑動,但導航欄有沒有考慮狀態欄大小...
負責更改中心視圖控制器這種方法:
- (void)setCenterViewController:(UIViewController *)centerViewController{
if([centerViewController isEqual:self.centerViewController])
return;
CGRect previousFrame = CGRectZero;
CGFloat previousScale = 0.f;
if(_centerViewController)
{
[_centerViewController removeFromParentViewController];
_centerViewController.trippleController = nil;
[_centerViewContainer removeFromSuperview];
previousFrame = _centerViewController.view.frame;
previousScale = _centerViewController.view.transform.a;
}
[centerViewController removeFromParentViewController];
_centerViewController = centerViewController;
[self addChildViewController:_centerViewController];
_centerViewController.trippleController = self;
self.centerViewContainer = _centerViewController.view;
self.centerViewContainer.clipsToBounds = YES;
if(!CGRectEqualToRect(previousFrame, CGRectZero))
{
self.centerViewContainer.transform = GAffineTransformMakeScale(previousScale, previousScale);
self.centerViewContainer.frame = previousFrame;
}
[self.view insertSubview:self.centerViewContainer atIndex:0];}
請發佈您的代碼,以便我們可以幫助識別您的問題 – MuhammadBassio