【问题标题】:ViewController overlaps system navigation bar in Document providerViewController 与 Document 提供程序中的系统导航栏重叠
【发布时间】:2015-04-14 10:25:48
【问题描述】:

在 UIDocumentPickerExtensionViewController 子类中显示视图控制器与系统导航栏重叠。该问题仅在使用 Xcode 6.3 ( iOS 8.3 SDK ) 编译时出现。

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myVC];
[self presentViewController:navController animated:NO completion:nil];

任何指针都会有所帮助。

【问题讨论】:

    标签: ios ios8.3 document-provider


    【解决方案1】:

    尝试使用(在 viewDidLoad() 中):

    self.edgesForExtendedLayout = UIRectEdgeNone;

    这为我们解决了问题。

    【讨论】:

      【解决方案2】:

      尝试把这个放到目标viewController viewDidLoad中

      [[self navigationController] setNavigationBarHidden:YES animated:NO];
      [[self navigationController] setNavigationBarHidden:NO animated:NO];
      

      我希望这是你想要的。

      【讨论】:

        【解决方案3】:

        这是苹果提交问题后的回复。

        这是故意的行为。在 iOS 8.3 上,我们公开了导航控制器供您推送,因此您无需提供自己的。尝试将您的代码更改为

        UIViewController* testVC = [[UIViewController alloc] init];
        testVC.view.backgroundColor = [UIColor greenColor];
        if(self.navigationController)
        {
            [self.navigationController pushViewController:testVC animated:YES];
        }
        else
        {
            UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:testVC];
            [self presentViewController:nc animated:NO completion:nil];
        }
        

        应该同时支持 iOS 8.3 和以前的版本。

        【讨论】:

          猜你喜欢
          • 2022-12-11
          • 1970-01-01
          • 2013-02-04
          • 2023-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-12
          • 1970-01-01
          相关资源
          最近更新 更多