如何获取UITextField中插入符号的坐标(即框架矩形)



我有一个UITextField,其中我在UIPopoverController中实现自动完成。我希望popover的箭头直接指向插入符号(就像邮件和消息在"收件人:"字段中所做的那样)。如何获得代表插入符号位置的CGRect

注意:我对文本字符串中的位置不感兴趣,这就是这个问题所涉及的内容。我需要一种方法来获得插入符号相对于UITextField帧的像素位置。

试着实现下面的代码,它对大多数字符都很好。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    UITextPosition *beginning = textField.beginningOfDocument;
    UITextPosition *start = [textField positionFromPosition:beginning offset:range.location];
    UITextPosition *end = [textField positionFromPosition:start offset:range.length];
    CGRect caretFrame = [textField caretRectForPosition:end];
    return YES;
}

最新更新