SORU
13 Mayıs 2011, Cuma


UİWebView devre dışı bırakılması kullanıcı seçimi

Ben bir UİWebView içerik yüklemek ve bu hediye bir uygulamam var. Tamamen kullanıcı link tıklayın mümkün olmak istiyorum, çünkü devre dışı bırakmak kullanıcı etkileşimi edemem. Ben sadece kullanıcı seçimi devre dışı bırakmak gerekiyor. Kullanabileceğiniz bir yere İnternet'te buldum:

document.body.style.webkitUserSelect='none';

Bu gibi takarak çalıştım

[self.contentView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitUserSelect='none';"]; 

webViewDidFinishLoad:*

Ancak, bu işe yaramazsa. Hala ve web görünümü içinde metin kopyalamak mümkün duyuyorum.

Yanlış giden ne olabilir, fikri olan?

Güncelleme: Bu durum, yalnızca iOS 4.3 ile başlayan görünüyor

CEVAP
18 Mayıs 2011, ÇARŞAMBA


Burada seçimi devre dışı bırakmak için birkaç yolu vardır:

Mobil web belgeleri aşağıdakileri ekleyin

<style type="text/css">
* {
    -webkit-touch-callout: none;
    -webkit-user-select: none; /* Disable selection/copy in UIWebView */
}
</style>

Programlı olarak aşağıdaki Javascript kodu yük:

NSString * jsCallBack = @"window.getSelection().removeAllRanges();";    
[webView stringByEvaluatingJavaScriptFromString:jsCallBack];

Kopyala / Yapıştır kullanıcı menüsü devre dışı bırakın:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{    
    if (action == @selector(copy:) ||
        action == @selector(paste:)||
        action == @selector(cut:)) 
    {
        return _copyCutAndPasteEnabled;
    }
    return [super canPerformAction:action withSender:sender];
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • kimaliz

    kimaliz

    18 Temmuz 2006
  • segtlim

    segtlim

    21 EKİM 2008