【发布时间】:2011-03-30 01:43:54
【问题描述】:
每当用户点击返回键或开始在 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;
}
我得到了想要的效果(嘿,每当我在键盘上按回车键时都会添加)但我现在不能输入任何东西......有什么想法吗?
【问题讨论】:
-
你有没有设置任何类作为 UITextView 的代理?你确定它实现了 UITextViewDelegate 协议吗?
-
可能不会生病将我的代码贴在下面...
-
DetailViewController.h @interface DetailViewController : UIViewController
{ UITextView *txtDetail; @property (nonatomic, 保留) 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!"]; }
标签: iphone xcode uitextview ipad uitextviewdelegate