我一直在使用Apple示例代码从这里查看文档:
我已经删除了所有我不需要的部分,并使它能够按我所希望的方式工作。问题是我不希望用户访问右上角的"Actions“菜单。每当从列表中选择文档时,都会出现这种情况:
理想情况下,我想全部删除按钮,虽然如果我可以禁用它或禁用里面的所有选项,这也就足够了。我发现了这个问题:
但是我不知道如何使用这个建议来禁用菜单中的选项。我已经在这里上传了修改过的示例代码:
http://plasma.servebeer.com/DocSampleCode.zip
最后一个注意事项是,这不会出现在App上,它是私人使用的,所以如果有一种非官方的方法,那么我也有兴趣知道这一点。
如能提供任何帮助,我们将不胜感激。
等离子体
发布于 2016-02-04 03:36:22
使用UINavigationControllerDelegate
@interface DITableViewController () <UIDocumentInteractionControllerDelegate, UINavigationControllerDelegate>
将navigationController委托分配给self
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.delegate = self;
}
改变documentInteractionControllerViewControllerForPreview
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)interactionController {
return self.navigationController;
}
添加此UINavigationControllerDelegate
方法
// Called when the navigation controller shows a new top view controller via a push, pop or setting of the view controller stack.
- (void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ([viewController isKindOfClass:[QLPreviewController class]]) {
viewController.navigationItem.rightBarButtonItem = nil;
}
}
更新MP4文件
在MP4文件中,操作按钮位于UIToolbar
上。
- (void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ([viewController isKindOfClass:[QLPreviewController class]]) {
viewController.navigationItem.rightBarButtonItem.customView = [[UIView alloc] init];
UIBarButtonItem *item = viewController.toolbarItems.firstObject;
item.customView = [[UIView alloc] init];
}
}
注:这在iOS的未来版本中可能行不通。
发布于 2016-02-03 23:17:51
创建QLPreviewController类之后,需要将rightBarButtonItem设置为零。代码片段:
QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.navigationItem.rightBarButtonItem = nil;
我确实下载了项目,执行后,"Action“按钮不是显示在顶部的导航项中,而是显示在工具栏中。然后,在这种情况下,您需要对QLPreviewController进行子类化,并覆盖viewWillAppear,如下所示。
@implementation ExViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSMutableArray *a = [NSMutableArray arrayWithArray:@[]];
for (NSUInteger i = 0; i < self.toolbarItems.count; i++) {
if (i == 0) {
continue;
}
[a addObject:self.toolbarItems[i]];
}
}
@end
发布于 2020-03-31 09:22:23
如果您想隐藏按钮,则给出答案将不适用于iOS 10.0及以上版本的Swift language。您可以使用WKWebView。希望它能节省你的时间。
https://stackoverflow.com/questions/35116820
复制相似问题