如何从UITextView中检测日期并在点击它时添加事件

时间:2013-05-21 12:31:35

标签: iphone ios uitextview

我可以从UITextView检测日期并在点按时添加活动。 文本视图不在可编辑模式下。 我试过了

self.txtView.dataDetectorTypes = UIDataDetectorTypeAll;

但它不起作用请帮帮我

2 个答案:

答案 0 :(得分:0)

您可以这样添加UITapGestureRecogniser ..

- (void)viewDidLoad
{
      [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doSingleTap)];
    singleTap.numberOfTapsRequired = 1; 
    [self.txtView addGestureRecognizer:singleTap];

}
-(void)doSingleTap:(UITapGestureRecognizer *)recognizer
{
    // ----- do here........
}

答案 1 :(得分:0)

您在申请表中输入了哪些假设日期?如果他们过去就不会发现它们。

日期必须是未来日期。

此外,它不是关于是否存在轻击手势识别器。你必须确保它不在可编辑模式,不过你这样做。

我的解决方案只是通过按钮切换编辑模式和dataDetectorTypesAllNone。如果您愿意,可以将自己设置为UIDataDetectorTypeCalenderEvent

例如:

- (IBAction)didTapEditButton:(id)sender {

    if (self.noteText.editable == NO) {

        [self.editButton setTitle:@"Done" forState:UIControlStateNormal];
        self.noteText.dataDetectorTypes = UIDataDetectorTypeNone;
        self.noteText.editable = YES;

    } else {

        [self.editButton setTitle:@"Edit" forState:UIControlStateNormal];
        self.noteText.editable = NO;
        self.noteText.dataDetectorTypes = UIDataDetectorTypeAll;
    }
}