我有一个标签栏控制器,其中一个标签是UINavigationController . UINavigationController的根是一个UITableViewController . 当我在TableView上选择一个项目时,我推送到一个新的UIViewController,它设置

HidesBottomBarWhenPushed = YES;

标签栏按预期消失 .

现在,当我按导航栏上的后退按钮将视图控制器弹回到包含具有UITableViewController根的UINavigationController的标签栏控制器时,标签栏将不会重新出现 .

此外,当我按下后退按钮时,不会调用Tab Bar Controller和UINavigationController的ViewWillAppear . 我有以下代码,但由于它没有被调用,可能没用 . 请原谅Xamarin,不要认为它与这个问题有关 .

public override void ViewWillAppear(bool animated)
{
    base.ViewWillAppear(animated);
    TabBar.Hidden = false;
    UIView.Animate(0.5, () => {
        TabBar.Frame = new CGRect(
            0,
            View.Frame.Bottom - 49.0f,
            View.Frame.Size.Width,
            49.0f);
    }, () => {
        TabBar.Hidden = false;
    });
}