当我的UITextView正在编辑时,我该如何检测并调用一个操作?

3
当我的UITextView处于编辑状态时,我想要出现一个按钮。我该怎么做?谢谢!
5个回答

5

在你的类中实现UITextViewDelegate,当UITextView开始编辑时,它将调用它的textViewShouldBeginEditing:函数,在这个函数中你可以做任何你想做的事情。你可以在编辑开始时显示按钮,在编辑结束时隐藏按钮。

– textViewShouldEndEditing

如需更多详细信息,请参阅此处


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

阅读苹果手册获取更多信息


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

问题是关于 UITextView 的。 - Artem Stepanenko

0

查看UITextViewDelegate协议参考。如果将您的UIViewController设置为UITextView的delegate,它将收到textViewDidBeginEditing:textViewDidEndEditing:消息。当您接收到这些消息时,可以显示/隐藏您的按钮。


0

Xcode 6.4,iOS 8.4,启用ARC

不要犯我的错误,我花了很长时间才弄清楚,但我一直在添加...

@interface YourViewController : UIViewController <UITextFieldDelegate>

因为我习惯于使用UITextField,但显然我们需要...

@interface YourViewController : UIViewController <UITextViewDelegate>

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接