【问题标题】:Hidding Navigation controller before animating UIWebView在动画 UIWebView 之前隐藏导航控制器
【发布时间】:2014-06-04 18:47:04
【问题描述】:

我有一个本机 iOS 应用程序,它会包含一些本机内容和一些在 UIWebViews 中显示的内容。总的来说,我的导航是使用 UINavigation 控制器完成的,但是一旦我进入网络应用程序的第二级,我想切换到网络导航,并且我希望这对用户来说是无缝的。

当我在第二个视图中时,我找到了一种隐藏 uinavigationcontroller 的方法,使用以下代码:

    NSURL *url = request.URL;
      NSString *urlString = [url absoluteString];

      if ([urlString isEqualToString:@"http:myApp/Page1.xsp"]) 
      {
        [self.navigationController setNavigationBarHidden:FALSE animated:YES];
      } else {
        [self.navigationController setNavigationBarHidden:TRUE animated:YES];
      }

      return YES;
    }

但是,当我运行它时,我会看到 iOS UINavigationBar,然后它会向上移动到屏幕顶部并被隐藏。这不是一个好的用户体验。

我想隐藏导航栏然后加载页面,但不知道该怎么做。

【问题讨论】:

    标签: ios uiwebview uinavigationcontroller uiwebviewdelegate


    【解决方案1】:

    您需要在出现的控制器的 viewWillAppear: 上调用相同的方法,这将为您提供所需的结果

    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }
    
    - (void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear];
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多