2012-08-03 21 views
6

UITextView kullanarak iPhone uygulamasında çalışıyorum. numaralı telefonu kullanmak istiyorum. Sadece kullanıcının mesajı kopyalayabilir ve mesajını yapıştırın. Ama ben göstermek istemiyorum Tümünü Seç, Seç, Tanımla ve diğerleri. Seçenekleri kontrol etmek için aşağıdaki kodu takip ediyorum. Ancak, tüm seçenekler UITextView tıklamasında gösterilmektedir.Kontrol Kopyala, Yapıştır, Tümünü Seç, UITextView iPhone uygulamasında tanımla?

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(paste:)) 
    { 
     return NO; 
    } 
    else if (action == @selector(copy:)) 
    { 
     return NO; 
    } 

    return [super canPerformAction:action withSender:sender]; 
} 

Bunu yapmak için bana yardımcı olabilecek herhangi biri olabilir. Ayrıca mesajı kopyalarken |.Text.|'u göstermek istemiyorum. Lütfen bunu yapmama yardım et. Şimdiden teşekkürler.

cevap

2

Her şeyden önce, yukarıdaki kod çalışmıyorsa, muhtemelen UITextView sınıfını yukarıdaki yöntemi uygulayan özel sınıfınıza dönüştürmeyi unutmuş olabilirsiniz.

Eğer çalışmalıdır var ve kadarıyla sen sonra tüm seçkin hiçbir döndürmesi gerektiğini yaptıktan sonra ayrıca

if (action == @selector(selectAll:)) 
     { 
      return NO; 
     } 

Eğer kesim için hiçbir dönmek isteyebilirsiniz: ayrıca da yoktur varsayarak kullanıcının textView'den metni kaldırmasını isteyin. Ayrıca

kesim bu onlar Onlar aslında bu sırada denir birbirlerine

bağımlı olmayan olarak başka tablolara eğer olması gerekmez: kopya: seçmek : selectAll: yapıştır: sil:

İşlevleri gerektiği gibi kaldırın.

+0

Cevabınız için teşekkür ederiz. Metni UITextView'da kopyalarken mavi rengi iki çizgi ile devre dışı bırakmamı söyler misiniz? Teşekkür ederim. – Gopinath

2

UITextField bir alt sınıf oluşturun ve bu sınıfta canPerformAction: withSender: yöntemini geçersiz kılın.

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


    return NO; 
} 
+0

Her iki cevap da kabul edilmek için doğru ve karışıktır. Ama önce cevabını neden kabul ettiğimi söyledi. Yanılmasın beni. Cevabınız için teşekkürler. Metni UITextView'da kopyalarken mavi rengi iki çizgi ile devre dışı bırakmamı söyler misiniz? Teşekkür ederim. – Gopinath