最近在項目中遇到一個問題,在自定義了tabbarController以后,在第一個子Vc push后,導航欄會下移20個pt,并且滑動返回失效.同時控制臺會報錯:
Unbalanced calls to begin/end appearance transitions for ....
但是如果選擇了tabbarController的其他子Vc后,在返回第一個VC就沒有這個問題了.
這種情況需要在自定義的TabbarController中實現以下代碼:
-(void)viewWillAppear:(BOOL)animated
{
[self.selectedViewController beginAppearanceTransition: YES animated: animated];
}
-(void) viewDidAppear:(BOOL)animated
{
[self.selectedViewController endAppearanceTransition];
}
-(void) viewWillDisappear:(BOOL)animated
{
[self.selectedViewController beginAppearanceTransition: NO animated: animated];
}
-(void) viewDidDisappear:(BOOL)animated
{
[self.selectedViewController endAppearanceTransition];
}