如何检查何时编辑UITextView?

pix*_*abs 4 iphone xcode objective-c uitextview ios

我正在使用以下代码,但在开始编辑UITextView时无法识别它:

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

[done setHidden:NO];

NSLog(@"Started editing target!");

}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

我也将代理添加到.h文件中.

Mat*_*ani 6

尝试设置UITextView的委托.您需要在Interface Builder中将插座连接到委托,或者如果您以编程方式创建它,您可以:

yourTextView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

将委托设置为您要插入元素的控制器.


ohh*_*hho 6

if ([self.textView isFirstResponder]) ...
Run Code Online (Sandbox Code Playgroud)

更新:我包含完整的源代码,表明UITextView肯定会响应isFirstResponder @ d2burke

#import "TextViewController.h"

@interface TextViewController ()
@property (nonatomic, retain) IBOutlet UITextView *textView;
@end

@implementation TextViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)click:(UIButton *)check
{
    BOOL isActive = [self.textView isFirstResponder];
    NSLog(@"%d", isActive);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
Run Code Online (Sandbox Code Playgroud)