Как скрыть верхнюю панель в QLPreviewController по умолчанию
Я представляю контроллер предварительного просмотра 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. Как только элемент загружается в верхнюю панель, он исчезает, но эффект резкий.
Есть ли способ скрыть эту верхнюю панель (выделенную желтым) по умолчанию, чтобы она никогда не появлялась?
1 ответ
Решение
Да, можно, но после представления QLPreviewController
. Следующий код будет работать, чтобы скрыть панель навигации, но через несколько секунд.
Цель-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
}
}