我正在使用 Quicklook 显示一些 PDF 文件,用户只需要查看文件然后单击完成即可。默认 UI 提供了更多选项,例如复制或打印电子邮件。 UI 还显示完成按钮旁边的箭头,可以导航到其他可用文件。 我需要删除这两个(隐藏)。 现在我浏览了一下,大多数帖子都在讨论继承 QLPreviewController 和自定义新类。所以我以以下方式这样做:
@interface MyQLViewer : QLPreviewController <QLPreviewControllerDataSource, QLPreviewControllerDelegate> {
}
在.m文件中
- (void)viewWillAppearBOOL)animated
{
[super viewWillAppear:animated];
[[self navigationItem] setRightBarButtonItem:nil];
}
现在在我自己的项目中,我有一个 MyQLViewer 属性,我在 xib 的 viewdidload 事件中 [MyQLViewer alloc] init]。
这不起作用。我错过了什么?
谢谢。
据我所知,iOS 6 无法再禁用右键 你可以在这里读更多关于它的内容: http://www.cimgf.com/2012/07/11/a-better-fullscreen-asset-viewer-with-quicklook/
更新: 这种解决方法对我有用。 如果文档加载需要几个瞬间,则会延迟调用它,因为它会被重新添加
- (void)removeActionButton {
if(removeShareCounter > 13){
[removeButtonTimer invalidate];
}
else{
//iOs doesn't support setRightBarButtonItem to nil
if ([self iOsEqual:6]) {
[self inspectSubviewsForView:self.view];
}
else{
[self.navigationItem setRightBarButtonItem:nil animated:NO];
}
removeShareCounter++;
}
}
- (void)inspectSubviewsForViewUIView *)view
{
if(view != NULL){
if ([view isKindOfClass:[UINavigationBar class]])
{
UINavigationBar *bar = (UINavigationBar *)view;
if ([[bar items] count] > 0)
{
UINavigationItem *navItem = [[bar items] objectAtIndex:0];
[self performSelectorOnMainThreadselector(removeShareButton withObject:navItem waitUntilDone:YES];
}
}
else{
for (UIView *subView in view.subviews) {
[self inspectSubviewsForView:subView];
}
}
}
}
-(void)removeShareButton: (UINavigationItem *)navItem{
[navItem setRightBarButtonItems:nil animated:NO];
}
关于ios - QuickLook,删除除完成按钮外的所有工具栏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988201/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) | Powered by Discuz! X3.4 |