3 Stimmen

Wie kann ich erkennen, wenn meine UITextView bearbeitet wird und dann eine Aktion aufrufen?

Wenn mein UITextView bearbeitet wird, soll eine Schaltfläche erscheinen. Wie kann ich das erreichen?

Gracias.

5voto

aahsanali Punkte 3527

Implemetn UITextViewDelegate in Ihrer Klasse und bei Beginn der Bearbeitung von UITextView wird es seine textViewShouldBeginEditing: Funktion, mit der Sie tun können, was Sie wollen. Sie können Ihre Schaltfläche einblenden, wenn die Bearbeitung beginnt und ausblenden, wenn die Bearbeitung endet.

– textViewShouldEndEditing

Für weitere Einzelheiten siehe dies

2voto

helloiloveit Punkte 169

Ich werde die obige Antwort ein wenig ausführlicher gestalten:

YourViewController.h

@interface YourViewController : UIViewController <UITextViewDelegate>

YourViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.yourTextView.delegate = self;

}

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{
   // do smth like create a button 
   return TRUE;
}

Lesen Sie Apple-Handbuch für mehr

0voto

odrm Punkte 5021

Überprüfen Sie die UITextViewDelegate Protokoll-Referenz . Wenn Sie Ihren UIViewController als den delegate der UITextView, wird sie gesendet textViewDidBeginEditing: y textViewDidEndEditing: . Sie können Ihre Schaltfläche ein-/ausblenden, wenn Sie diese Nachrichten erhalten.

0voto

Kattu Poochi Punkte 139

//in Ansicht wurde geladen.

UITextField entered1 = [[UITextField alloc] initWithFrame:CGRectMake(120.0, 85.0, 150.0, 25.0)]; 
[entered1 setBackgroundColor:[UIColor whiteColor]]; 
[entered1 addTarget:self action:@selector(example:)forControlEvents:UIControlEventTouchDown];
[self.view addSubview:entered1];
[entered1 release];  

oder

  [textfieldname addTarget:self action:@selector(example:)forControlEvents:UIControlEventTouchDown];
        .........
  }
  -(IBAction) example:(UIControl *)sender
  {
   //your code here.
  }

0voto

serge-k Punkte 3244

Xcode 6.4, iOS 8.4, ARC aktiviert

Machen Sie nicht meinen Fehler, ich habe lange gebraucht, um es herauszufinden, aber ich habe...

@interface YourViewController : UIViewController <UITextFieldDelegate>

weil ich gewohnt bin, mit UITextFields zu arbeiten, aber offensichtlich brauchen wir...

@interface YourViewController : UIViewController <UITextViewDelegate>

Ich hoffe, das spart jemandem Zeit. Prost!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X