gpt4 book ai didi

iphone - 当用户按回车键时在 UITextView 中插入日期/时间

转载 作者:行者123 更新时间:2023-12-03 20:16:41 25 4
gpt4 key购买 nike

每当用户按回车键或开始在 Xcode 中的 UITextView 上键入内容时,我都会尝试插入当前日期/时间,但不太确定从哪里开始。

我知道此方法适用于单击 TextView 但似乎不起作用:

- (void)textViewDidBeginEditing:(UITextView *)textView {
self.txtDetail.text = [self.txtDetail.text stringByAppendingString:@"Hello!"];
}

谢谢

更新:

DetailViewController.h 
@interface DetailViewController : UIViewController <UIPopoverControllerDelegate, UISplitViewControllerDelegate> {
UITextView *txtDetail;
}
@property (nonatomic, retain) IBOutlet UITextView *txtDetail;

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

DetailViewController.m
@synthesize txtDetail;

- (void)textViewDidBeginEditing:(UITextView *)textView {
NSLog(@"Hello");
self.txtDetail.text = [self.txtDetail.text stringByAppendingString:@"Hello!"];
}
<小时/>

更新02:

我已将其添加到我的 .m 文件中:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {  

BOOL shouldChangeText = YES;

if ([text isEqualToString:@"\n"]) {
// Find the next entry field

txtDetail.text = [txtDetail.text stringByAppendingString:@"\nhey\n"]; }
textView.editable = YES;

shouldChangeText = NO;
[textView becomeFirstResponder];

return shouldChangeText;
}

我得到了想要的效果(每当我按键盘上的回车键时就会添加“嘿”),但我现在无法输入任何内容...有什么想法吗?

最佳答案

您必须将 Controller 声明为实现 UITextViewDelegate 协议(protocol),然后将其连接为 TextView 的委托(delegate)。否则它根本不会收到委托(delegate)消息。

然后你必须实现:

– textView:shouldChangeTextInRange:replacementText:

... 返回 YES/TRUE,否则不会添加任何文本。

更新02:

您需要实现所有具有返回值的 UITextViewDelegate 协议(protocol)方法。如果不这样做, TextView 默认假定为“否”。

参见:Text and Web Programming Guide: Managing TextFields and TextViews

您还需要了解Delegate Pattern .

关于iphone - 当用户按回车键时在 UITextView 中插入日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487260/

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