今天在群里看到有几个人问到:QLPreviewController的导航栏怎么自定义和底部tabbar怎么去掉。
于是建了个demo看了看,趁机学习一下预览文件。
发现QLPreviewController的使用和系统相册、相机类似,完全不能自定义。废话不多说,直接进入正文。
1首先导入<QuickLook/QuickLook.h>头文件 遵循代理,实现那两个必要的代理方法。
2 初始化,用模态推出
QLPreviewController *preview=[[QLPreviewControlleralloc] init];
preview.dataSource=self;
preview.delegate=self;
[selfpresentViewController:previewanimated:YEScompletion:nil];
这样写过之后,功能是出来了,但是不管在推之前怎么写,遍历subviews
还是不能弄掉
tabbar和那个done按钮。怎么办???
最后想到一个方法,不要用控制器推出QLPreviewController, 直接把QLPreviewController的view加在父控制器上:
preview.view.frame=CGRectMake(0,100, 414,350);
[self.viewaddSubview:preview.view];
view 的frame也可以随便设置,舍弃QLPreviewController的容器,自己写个控制器ViewControllerA作为容器,QLPreviewController的功能(也就是view)放进去。这样就可以了。想要什么样的布局,自己设置ViewControllerA就可以了。
是不是很简单啊。