2010-08-22 47 views
15

'da eylemden sonra metin seçim tutamaçlarını gizleme UIWebView'da bir seçim yapabilen çeşitli özel UIMenuItems var. Eylem bu seçimde çalıştırıldıktan sonra, copy:'un yaptığı gibi seçim tutamaçlarını gizlemek istiyorum.UIWebView

window.getSelection().removeAllRanges(); kullanmayı denedim ve bu, window.getSelection() numaralı belgede artık hiçbir şey döndürmediğinden, metin seçim tutamaçları görünür kalıyor.

Seçimi ve tutamaçları çıkarmanın bir yolu var mı?

Edit: Ben JS çözüm olması buna ihtiyacı yoktur ama web görüntülemesini yeniden yükleyerek devlet gevşek olamaz.

+0

Matt - telefonumda (ve simülatörde), kopyala: seçildiğinde seçim tutamlarını gizlemez. Senin üstünde mi? Lütfen bir çözüm bulursanız çözümünüzü gönderin - ben de bunun üzerinde çalışıyorum. – TomSwift

+0

Tom - hmmm, haklısın ... Belki de bu mümkün olmayan bir şey. Yaptığım şey seçim yapmak ve onu yeni bir div ile çevrelemek. Sevmediğim şey, mavi seçim tutamaçlarının, seçili metnin eski konumuna iki mavi nokta ile bir I gibi görünmesidir. İlgili problem, eğer programlı olarak seçimi değiştirirsem, mavi metin seçim kutusunun bu yeni aralığa uygun olduğuna inanmamam. –

+0

Bu, yaşadığım aynı davranış. Seçim alanını javascript'ten değiştirmenin bir yolu yok gibi görünüyor. – TomSwift

cevap

41

Sadece devre dışı bırakmak ve Kullanıcı Etkileşimi yeniden etkinleştirmek:

myWebView.userInteractionEnabled = NO; 
myWebView.userInteractionEnabled = YES; 
+0

Bu sadece dahidir. – TomSwift

+0

Parlak! Bunu hak ettin! Bu kadar basit olduğunda doğru çözüme sahip olduğunu biliyorsun ... :) –

+0

Teşekkürler. Ben görünüşe göre zor problemlere basit çözümler seviyorum :) – Sylter

-1

veri o zaman hiçbir vücut o web görüntülemesini takip edebilirsiniz yalnızca metin olup olmadığını basitçe web görüntülemesini yenileyebilirsiniz tazelenmiş

kullanım

[webview reload]; 

i uygulamalarıma & çalışmalarını bu şey yaptık bu kodu olduğunu Büyük

+1

Tüm web görüntüsünü, web görünümündeki durumu değiştirecek şekilde yeniden yükleyemiyorum. Sadece o kolları ortadan kaldırmak için ihtiyacım var. ;) –

+0

Kesinlikle bir çalışma, ancak çoğu durum için ideal değil. –

-2

[_webview becomeFirstResponder]; Eyleminizi tamamladıktan sonra.

Sadece buna ihtiyacınız var. Ben hep böyle kullanırım.