Вы можете попробовать добавить javascript в webView. Этот код работает на iPhone тоже, но только когда страница полностью загружена.
http://www.javascriptsource.com/page-details/disable-text-selection.html или
http://solidlystated.com/scripting/proper-way-to-disable-text-selection-and-highlighting/
Чтобы заставить его работать должным образом, когда страница загружена только наполовину или все еще загружается, вам, вероятно, придется использовать настройку, аналогичную той, в которой вы вводите отключающий javascript так же, как он начал бы выбирать.
http://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/
Последнее, что я могу придумать, может сработать, вы тестировали добавление селектора @selector (select :) в список отключенных селекторов?
EDIT:
Хорошо, если вы хотите отобразить PDF, а не HTML-страницу, вы можете попробовать это.
Настройка
Поместить веб-представление в scrollView;
Установите ScrollView: делегат для себя; минимальное увеличение до 1,0 и максимальное увеличение до того, что вы хотите;
После завершения загрузки weView.
Сканирование для первого 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).
ПРИМЕЧАНИЯ : масштабирование пикселирует содержимое веб-представления, если вы увеличиваете изображение слишком сильно, потому что веб-представление не знает, как заново визуализировать объекты, и по этой причине вы не можете нажимать ссылки (но в 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, что означает, что масштабирование, прокрутка и т. Д. Все еще должны работать (и при масштабировании страница должна перерисовываться, а не с пикселизацией), но вы не можете выбрать любой текст или введите что-нибудь.
Также кое-что в этом методе заключается в том, что на основе этот список подпунктов UIWebView it может установить его до загрузки страницы, а не после завершения загрузки страницы. .