如何默认隐藏 QLPreviewController 上的顶部栏
How to hide top bar on QLPreviewController by default
我正在展示一个 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 预览项目。一旦项目加载到顶部栏中,它就会消失,但效果很刺耳。
有没有什么方法可以默认隐藏这个顶部栏(以黄色突出显示),使其永远不会显示?
是的,你可以,但是在展示 QLPreviewController
之后。以下代码将用于隐藏导航栏,但稍后。
Objective-C:
[self presentViewController:qlController animated:true completion:^{
UINavigationBar *navBar = [[[[[qlController view] subviews] firstObject] subviews] objectAtIndex:1];
[navBar setHidden:true];
}];
Swift:
self.present(qlController, animated: true) {
if let navigationBar = qlController.view.subviews.first?.subviews[1] as? UINavigationBar {
navigationBar.isHidden = true
}
}
我正在展示一个 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 预览项目。一旦项目加载到顶部栏中,它就会消失,但效果很刺耳。
有没有什么方法可以默认隐藏这个顶部栏(以黄色突出显示),使其永远不会显示?
是的,你可以,但是在展示 QLPreviewController
之后。以下代码将用于隐藏导航栏,但稍后。
Objective-C:
[self presentViewController:qlController animated:true completion:^{
UINavigationBar *navBar = [[[[[qlController view] subviews] firstObject] subviews] objectAtIndex:1];
[navBar setHidden:true];
}];
Swift:
self.present(qlController, animated: true) {
if let navigationBar = qlController.view.subviews.first?.subviews[1] as? UINavigationBar {
navigationBar.isHidden = true
}
}