您可以嘗試在webView中注入javascript。此代碼也適用於iPhone,但只有在頁面完全加載時才適用。 http://www.javascriptsource.com/page-details/disable-text-selection.html或 http://solidlystated.com/scripting/proper-way-to-disable-text-selection-and-highlighting/
爲了得到它正常工作時只有一半加載頁面或仍在加載你proably必須使用類似下面這樣的設置,其中你注入的javascript禁用只是因爲它會開始選擇。 http://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/
我能想到的最後一件事情可能會奏效,您是否測試過將選擇器@selector(select :)添加到禁用選擇器列表中?
編輯: 好吧,你要什麼來顯示PDF而不是HTML頁面,你可以試試這個。
設置
將web視圖在一個滾動視圖;
將ScrollView's:delegate設置爲self;分鐘縮放到1.0,最大縮放到任何你想要的;
weView完成加載後。 掃描webView中的第一個UIScrollView,(我們正在掃描它,所以這不應該在以後的iOS版本中打破)。 將UIWebViews框架設置爲它的scrollViews大小。 並將scrollView的contentSize設置爲webViews的contentSize(或者現在,它是框架)。
-(void)setup{
//Get the webView's first scrollView (the one all the content is in).
UIScrollView *webViewContentView;
for (UIView *checkView in [webView subviews]) {
if ([checkView isKindOfClass:[UIScrollView class]]) {
webViewContentView = (UIScrollView*)checkView;
break;
}
}
webView.frame = CGRectMake(0, 0, webViewContentView.contentSize.width, webViewContentView.contentSize.height);
scrollView.contentSize = webViewContentView.contentSize;
scrollView.delegate = self;
}
要啓用縮放功能,您需要從scrollViews委託中添加一個額外的方法。
-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
return webView;
}
,你可以下載一個示例項目http://www.multiupload.com/P8SOZ4NW6C(這是一個Xcode 4的項目)。
注意:如果你放大到多少,因爲web視圖不知道重新渲染的東西變焦pixelates中的WebView內容和原因你不能點擊鏈接(但在一個PDF該不該」不成問題)。
編輯2:更好的方法
因爲寫這個我已經意識到一個更簡單和更簡單的方法,這也應該能夠解決問題的像素化。
-(void)removeInput{
UIScrollView *webViewContentView;
for (UIView *checkView in [webView subviews]) {
if ([checkView isKindOfClass:[UIScrollView class]]) {
webViewContentView = (UIScrollView*)checkView;
break;
}
}
for (UIView *checkView in [webViewContentView subviews]) {
checkView.userInteractionEnabled = NO;
}
}
現在你應該只能夠與自身的UIScrollView交互,這意味着縮放,滾動等..應該仍然工作(和相當的像素化的頁面應該重新渲染放大時),但你可以」 t選擇任何文本,或鍵入任何東西。東西
而且這個方法,基於this list of UIWebView subViews它可能可以設置這個頁面開始加載,而在此之後,它已經完成加載頁面的。
除非您100%確定沒有其他人提供相同(或類似)的內容,否則此「功能」僅用於驅動人們遠離您的應用。 – 2011-04-01 15:39:18
@Franci Penov:我可以想到許多用戶不希望選擇指針出現的情況。事實上,當閱讀某些內容並緩慢滾動(手指按下,閱讀,拖動,最終選擇,但想要滾動)時,它通常會與我的用戶體驗掛鉤。 – Kalle 2011-04-01 16:29:19
@Franci:我100%確定沒有人會提供這樣的內容。該應用程序正在創建,以顯示僅限於某些公衆的內容。這個「功能」是客戶的要求(否則我肯定不會爲此而煩惱。)@卡爾:我完全同意你的看法。 – 2011-04-09 19:27:04