UITextView委托方法

Mrw*_*lfy 10 iphone xcode uitextview ios

我试图让委托方法与UITextView一起使用,但由于某种原因它不起作用.

我在viewController.h中声明它是一个UITextViewDelegate

当我点击textView时,我试图让以下代码擦除默认代码"TEXT".

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

    if (myTextView.text == @"TEXT") {
        [myTextView setText:@""];
    }

    NSLog(@"did begin editing");
}
Run Code Online (Sandbox Code Playgroud)

当我点击textView并出现键盘时,我希望清除文本并查看NSLog打印.什么都没发生


顺便使用文本视图,因为我需要根据其内容大小缩放视图,并且似乎textView具有contentSize属性,whit标签和textField不具有.

更新:

我应该用过:

if ([myTextView.text isEqualToString:@"TEXT"]) {
    [myTextView setText:@""]; }
Run Code Online (Sandbox Code Playgroud)

这是项目,如果你想看看.

hol*_*lex 7

Test2ViewController.m文件中缺少此方法:

- (void)viewDidLoad {
    [myTextView setDelegate:self];
}
Run Code Online (Sandbox Code Playgroud)

或者您也可以在Interface Builder中连接代理,如果您更喜欢这种方式.

更新#1:

将此方法添加到您的类以控制return密钥.

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if ([text isEqualToString:@"\n"]) {
        NSLog(@"Return pressed, do whatever you like here");
        return NO; // or true, whetever you's like
    }

    return YES;
}
Run Code Online (Sandbox Code Playgroud)