Sen Web görünümü içine javascript enjekte deneyebilirsiniz. Bu kod iPhone'da da çalışır ancak sadece sayfa tam olarak yüklendiğinde. http://www.javascriptsource.com/page-details/disable-text-selection.html veya http://solidlystated.com/scripting/proper-way-to-disable-text-selection-and-highlighting/
seçme aşamasına başlayacak tıpkı devre dışı bırakarak javascript enjekte nerede proably buna benzer bir kurulum kullanmak gerekecektir sizi yüklerken hala sayfa sadece yarısı yüklendiğinde düzgün çalışması için almak ya etmek . http://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/
Bunun işe yarayabileceğini düşünebileceğim son bir şey var, selector @selector (devre dışı seçmenler listesine :) seçeneğini eklemeyi test ettiniz mi?
DÜZENLEME: yerine bir PDF görüntülemek için sana ne kadar Tamam o html sayfası bu deneyebilirsiniz.
Kur
bir scrollview içinde Web Görünümü koyun;
Set scrollview en: Kendine temsilci; min yakınlaştırmak için 1.0 ve maksimum zoom; weView sonra
yüklenmesi tamamlandıktan. Web görünümü ilk UIScrollView için Tarama, (o yüzden bu daha sonra iOS sürümleri üzerinde kırmak olmamalıdır biz taradığınız). UIWebViews çerçevesini scrollViews boyutuna ayarlayın. Ve WebViews'teki contentSize için scrollview en contentSize set (ya artık, o çerçeve var).
-(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;
}
Yakınlaştırmayı etkinleştirmek için, scrollViews temsilcisinden ek bir yöntem eklemeniz gerekir.
-(UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
return webView;
}
Ve örnek bir proje http://www.multiupload.com/P8SOZ4NW6C (Bu bir xcode 4 proje) indirebilirsiniz.
NOTLAR: 'webView şeyleri yeniden işlemek için bilmiyor çünkü çok yakınlaştırmak ise yakınlaştırma WebView içeriğini pixelates ve bağlantıları tıklayın (ama olamaz çünkü bir PDF olduğunu olmamalı sorun değil).
DÜZENLEME 2: Daha iyi yöntem
bu yazma beri ben de pikselleşme sorunu çözmek gerekir daha basit ve daha kolay bir yöntem, anlamışlardır.
-(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;
}
}
Şimdi
sadece yakınlaştırma, kaydırma, vb .. hala çalışması gerekir (ve yakınlaştırabileceğiniz zaman sayfa Pixelating ziyade yeniden oluşturulması gerekir) anlamına gelen UIScrollView kendisi ile etkileşim mümkün olmalıdır ancak 'can t herhangi bir metni seçin veya herhangi bir şey yazın. Bu yöntem hakkında da
şey o this list of UIWebView subViews dayalı bunu ayarlamak mümkün olabilir edilir sayfası, sayfa yüklenirken bittikten sonra ziyade yükleme başlamadan önce.
Başka kimsenin aynı (veya benzer) içeriği sağlamadığından% 100 emin değilseniz, bu "özellik" yalnızca kullanıcıları uygulamanızdan uzaklaştırmaya hizmet eder. –
@Franci Penov: Bir kullanıcının seçim işaretçisinin görünmesini istemediği birçok durumu düşünebilirim. Aslında, bir şeyleri okurken ve yavaşça kaydırarak (parmak aşağı tutarak, okurken, sürükleyerek, sonlandırmayı seçtiğimde ancak kaydırma yapmak istediğimde) kullanıcı deneyimimle sık sık karşılaşıyorum. – Kalle
@Franci: Bu içeriğin kimsenin sağlayamayacağından% 100 eminim. Uygulama, belirli herkese açık olan içeriği göstermek için oluşturulmaktadır. Bu "özellik" bir müşterinin gereksinimidir (aksi takdirde kesinlikle bununla uğraşmak istemem.) @Kalle: Size tamamen katılıyorum. –