我正在使用以下代码,但在开始编辑UITextView时无法识别:
-(void)textViewDidBeginEditing:(UITextView *)textView{
[done setHidden:NO];
NSLog(@"Started editing target!");
}
为什么会这样?
我也已将代理添加到.h文件中。
答案 0 :(得分:5)
尝试设置UITextView的委托。您需要在Interface Builder中将插座连接到委托,或者如果您以编程方式创建它,您可以:
yourTextView.delegate = self;
将委托设置为要插入元素的控制器。
答案 1 :(得分:5)
if ([self.textView isFirstResponder]) ...
更新:我包含完整的来源,表明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
答案 2 :(得分:2)
请确保你:
答案 3 :(得分:1)
Firstly you have to set UIViewController <UITextViewDelegate>
Set
yourTextview.delegate = self;
And catch this delegate using
-(void)textViewDidBeginEditing:(UITextView *)textView
{
[self.yourTextview setText:@""];
[yourTextview setTextColor:[UIColor blackColor]];
}
答案 4 :(得分:0)
也可以是“duh”答案,但如果你在IB中创建了textView,你还记得连接插座吗?