【发布时间】:2015-10-12 07:08:09
【问题描述】:
我有一个UITextView,用作聊天应用程序中的文本输入。当用户按下返回时,我想做一些动作,例如保存聊天消息。
我一直无法找到允许我这样做的解决方案(很多用于 TextFields 但不适用于 TextView)。
这是我目前正在尝试的解决方案,这似乎是我能找到的最明显的解决方案,但它不起作用,在调试中我看到该方法没有被触及:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ([text isEqualToString:@"\n"]) {
NSLog(@"Return pressed");
} else {
NSLog(@"Other pressed");
}
return YES;
}
在我的聊天 .h 文件中:
@interface ChatTableViewController : UITableViewController <UITextViewDelegate>
并查看didload .m 文件
- (void)viewDidLoad {
[super viewDidLoad];
enterText.delegate = self;
// more
}
顺便说一句,如果有比 UITextView 更好的字段在聊天程序中用作输入,请告诉我。
非常感谢
【问题讨论】:
-
它和我一起工作......我可以在日志中看到
Return pressed...... -
在 IB 中连接代理并重试
-
也许这就是问题所在,当我尝试在 IB 中连接代理时,它不会,可能是因为它在一个单元格中?
-
好的,我搞定了,谢谢@Nikolai 是代理连接的问题
-
虽然现在不知道如何结束这个问题。
标签: ios objective-c uitextview