2013-07-05 13 views
9

Bir additget yöntemini bir UITextView ile nasıl kullanırım? Bunu bir UITextField ile kullanabileceğinizi biliyorum, ancak bir UITextView ile kullanamıyorum. UITextView ile bir eylem bile oluşturamıyorum. Bunu yapmanın bir yolu var mı? Şimdiden teşekkürler.Bir UITextView nasıl yapılır addTarget yöntemini çağırırsınız

+0

'UITextView' böyle olaylara yanıt anlamına gelmez. Hangi işlevsellikten sonra? –

+0

Sadece 'UITextView' ile aynı metne sahip bir 'NSString' değişkeni yapmak istiyorum, bu yüzden' addTarget' veya' IBAction' için buna ihtiyacım olacak, değil mi? Ve bu arada, bir "UITextField" yerine bir "UITextView" koymamın nedeni, bu düzenlenebilir alanın çok satırlı olmasını istediğim içindir. –

+0

Neden gerektiğinde metni UITextView'den almıyoruz? 'MyTextView.text'. Kullanıcı metin görünümü ile etkileşime girdiğinde etkinliklere ihtiyacınız varsa, temsilciye bir göz atın. http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html –

cevap

9

Yorumlardaki bilgilere dayanarak, kullanıcı UITextView yazarken yerel değişkeni güncellemek ister. ,

senin görünüm denetleyicisinde

, IB kullanarak eğer senin UITextView bir IBOutlet oluşturun:

Yani (Ben bir UIViewController alt sınıfı var varsayalım ve bu görünümü bir subview sorularda UITextView vardır bulunuyor) böyle bir şey denemek ya da değilse sadece düzenli bir referans. Ardından metni depolamak istediğiniz NSString değişken için başka bir özellik.

NOT: Bu denetleyicinin aşağıda gösterildiği gibi UITextViewDelegate protokolüne uygun olduğundan emin olun. Kullanıcı bu metin görünümünde metin ile etkileşime girdiğinde Ardından, uygun temsilci yöntemleri gönderecek (Ya IB bunu)

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.textView.delegate = self; 
} 

:

@interface BBViewController() <UITextViewDelegate> //Note the protocol here 

@property (weak, nonatomic) IBOutlet UITextView *textView; 
@property (strong, nonatomic) NSString *userInput; 

@end 

Sonra metin görünümün temsilci kanca ve değişkeni uygun şekilde güncelleyebilirsiniz. hızlı versiyonu için

#pragma mark - UITextViewDelegate 

- (void)textViewDidChange:(UITextView *)textView { 

    self.userInput = textView.text; 
    NSLog(@"userInput %@", self.userInput); //Just an example to show the variable updating 
} 
+0

Oh adam !!!! Çalışmamanın sebebi, 'self.textView.delegate = self' koymama olmama nedeniydi! –

+0

Bunu çözdüğüne sevindim, her zaman kolay şeyler :) –

+0

Her zaman böyle, değil mi? –

0

bu gibi textview sınıfınızın

  • eklenti temsilci için UITextViewDelegate eklemek 3+

    1. :
    2. bu yöntemi eklemek self.mytextview.delegate = öz:

      func textViewDidChange (_ textView: UITextView) {

      print("entered text:\(textView.text)")  
      

      }

  • İlgili konular