2015-03-04 13 views
9

dokunuyor engellemeden UITextView için UITapGestureRecognizer ekle ama yine dokunuşlarUITextViewgibi normal ulaşmıyorsa var?TextView'un Bir UITextView bir <code>UITapGestureRecognizer</code> ekleyebilir nasıl

Metinlerime özel bir hareket eklediğimde, imleci konumlandırmak gibi UITextView varsayılan eylemleri için tıklamayı engeller.

var tapTerm:UITapGestureRecognizer = UITapGestureRecognizer() 

override func viewDidLoad() { 
    tapTerm = UITapGestureRecognizer(target: self, action: "tapTextView:") 
    textView.addGestureRecognizer(tapTerm) 
} 

func tapTextView(sender:UITapGestureRecognizer) { 
    println("tapped term – but blocking the tap for textView :-/") 
… 
} 

Muslukları nasıl işleyebilirim, ancak imleç konumlandırma gibi herhangi bir metni Görüntüleme davranışını nasıl yapabilirim? Herkes burada Objective C @Zell B.'nin cevap aramak için geldiğine durumda

override func viewDidLoad() { 
    tapTerm = UITapGestureRecognizer(target: self, action: "tapTextView:") 
    tapTerm.delegate = self 
    textView.addGestureRecognizer(tapTerm) 
} 

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 

    return true 
} 
+0

"cancelsTouchesInView" öğesini "false" olarak ayarlamayı denediniz mi? –

+0

İmleci taşımak istediğinizde ne yapacaksınız? –

cevap

17

senin görünüm denetleyicisi UIGestureRecognizerDelegate için benimsemek yapmak yapmak için ve geçersiz kılma gibi jest tanıyıcı yöntemiyle aynı anda tanımalı

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(textViewTapped:)]; 
    tap.delegate = self; 
    tap.numberOfTapsRequired = 1; 
    [self.textView addGestureRecognizer:tap]; 
} 

- (void)textViewTapped:(UITapGestureRecognizer *)tap { 
    //DO SOMTHING 
} 

#pragma mark - Gesture recognizer delegate 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 

PS: burada kod unutma < UIGestureRecognizerDelegate>

+0

Karşı karşıya kaldığım başka bir sorunu reddetmek için bunu uyguladık, ancak boşuna. Lütfen şu adreste bulabilirsiniz: [https://stackoverflow.com/questions/44517995/imessage-extension-crashes-while-trying-to-access-in-compact-mode](https://stackoverflow.com/questions/44517995/IMessage-extension-çöker-while-deneyen-erişime-in-kompakt-mode) – Shyam

2

:

İlgili konular