0

我正在展示一个 QuickLook 预览控制器,如下所示:

 QLPreviewController *qlController = [[QLPreviewController alloc] init];
    qlController.dataSource = self;
    qlController.delegate = self;
    dispatch_async(dispatch_get_main_queue(), ^{
        [rootVC presentViewController:qlController animated:NO completion:nil];
    });

我正在向它传递一个 usdz 预览项目。一旦项目加载到顶部栏中,它就会消失,但效果很刺耳。

有没有办法默认隐藏这个顶部栏(以黄色突出显示)所以它永远不会出现?

在此处输入图像描述

4

1 回答 1

2

是的,你可以,但在展示之后QLPreviewController。以下代码将用于隐藏导航栏,但片刻之后。

目标-C:

[self presentViewController:qlController animated:true completion:^{
    UINavigationBar *navBar = [[[[[qlController view] subviews] firstObject] subviews] objectAtIndex:1];
    [navBar setHidden:true];
}];

迅速:

self.present(qlController, animated: true) {
    if let navigationBar = qlController.view.subviews.first?.subviews[1] as? UINavigationBar {
        navigationBar.isHidden = true
    }
}
于 2019-09-11T05:29:39.980 回答