gpt4 book ai didi

iphone - UITextView 委托(delegate)方法

转载 作者:技术小花猫 更新时间:2023-10-29 11:02:24 25 4
gpt4 key购买 nike

我试图让委托(delegate)方法与 UITextView 一起工作,但由于某些原因它不起作用。

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

我试图让以下代码在我点击 textView 时清除默认代码“TEXT”。

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

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

NSLog(@"did begin editing");
}

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


顺便使用 TextView ,因为我需要根据其内容大小缩放 View ,并且 textView 似乎具有 contentSize 属性,而 label 和 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 中连接委托(delegate),如果您更喜欢这种方式的话。

更新 #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;
}

关于iphone - UITextView 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11825078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com