如何检测我的UITextView何时被编辑然后调用一个动作?

时间:2011-10-27 11:05:30

标签: iphone objective-c ios xcode uitextview

正在编辑我的UITextView时,我想要一个按钮出现。我怎么能这样做?

谢谢!

5 个答案:

答案 0 :(得分:5)

在您的课程中实施UITextViewDelegate,并在UITextView上开始编辑时 它会称之为textViewShouldBeginEditing:功能,您可以随心所欲地执行任何操作。您可以在编辑开始时显示按钮,并在编辑结束时隐藏此功能。

– textViewShouldEndEditing

有关详细信息see this

答案 1 :(得分:2)

我将在上面详细解答一下:

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;
}

阅读Apple manual了解更多

答案 2 :(得分:0)

查看UITextViewDelegate Protocol Reference。如果将UIViewController设置为UITextView的delegate,则会发送textViewDidBeginEditing:textViewDidEndEditing:。收到这些消息后,您可以显示/隐藏按钮。

答案 3 :(得分:0)

//在视图中加载了。

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];  

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

答案 4 :(得分:0)

Xcode 6.4,iOS 8.4,ARC Enabled

不要弄错我,花了很长时间才弄清楚,但我正在补充......

@interface YourViewController : UIViewController <UITextFieldDelegate>

因为我习惯与UITextField合作,但显然我们需要......

@interface YourViewController : UIViewController <UITextViewDelegate>

希望这能节省时间。干杯!