加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – UITextView委托方法

发布时间:2020-12-14 19:47:47 所属栏目:百科 来源:网络整理
导读:我正在尝试使用委托方法来处理UITextView,但是由于某些原因它不起作用. 我已经在我的viewController.h中声明它是一个UITextViewDelegate 当我点击textView时,我试图获取以下代码来清除默认代码“TEXT”. - (void)textViewDidBeginEditing:(UITextView *)text
我正在尝试使用委托方法来处理UITextView,但是由于某些原因它不起作用.

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

当我点击textView时,我试图获取以下代码来清除默认代码“TEXT”.

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

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

    NSLog(@"did begin editing");
}

我希望文本被清除,并且当我点击textView并且出现键盘时看到NSLog打印.一切都没有发生

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

更新:

我应该用:

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

here is the project if you want to take a look.

解决方法

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

- (void)viewDidLoad {
    [myTextView setDelegate:self];
}

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

更新#1:

将此方法添加到您的类以控制返回键.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读