UIWebView contextual menu while displaying PDF content

谁都会走 提交于 2019-12-06 16:06:37

With clever tricks, you can override the underlying UIWebDocumentView's -canPerformAction:withSender: method to only pass what you wish to display. This should work for PDF as well, as the internal classes are deeper in the view hierarchy and you should be fine with the UIWebDocumentView.

On iOS5, 6 and 7 seed 1, the UIWebDocumentView object is a subview of the scroll view of the UIWebView. What I do is find the subview of the scroll view that has the @"UIWeb" prefix in its class name, and use the Objective C runtime to dynamically subclass it to my own subclass (I create it at runtime - like what the system does for key-value observing) and replace the implementation with my own. You can even call the previous implementation by calling the super.

This is hacky, but it seems to be safe. Apple does not seem to have introduced the off-process UIWebView (using XPC), so it should be safe with iOS7 as well.

As always the disclaimer, this API is not documented and is subject to change at any given moment, and your app may stop functioning at any time®.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!