Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在uilabel中查找文本的位置{x,y}_Objective C_Ipad - Fatal编程技术网

Objective c 在uilabel中查找文本的位置{x,y}

Objective c 在uilabel中查找文本的位置{x,y},objective-c,ipad,Objective C,Ipad,我有一个来自服务器的字符串,它显示在UILabel MultiAlign上。就在这个字符串中,我正在识别一些特定的子字符串。我想在该子字符串上放置一个按钮(按钮将是UILabel的子视图)。为此,我需要子字符串坐标。我经历了这些,但我无法理解。假设我的完整字符串是abc,567-324-6554,纽约。我希望567-324-6554显示在我需要其坐标的按钮上。 如何使用上面的链接查找子字符串的坐标? 谢谢,UILabel没有执行此操作的任何方法。您可以使用,因为它实现了。您需要将文本视图的edi

我有一个来自服务器的字符串,它显示在UILabel MultiAlign上。就在这个字符串中,我正在识别一些特定的子字符串。我想在该子字符串上放置一个按钮(按钮将是UILabel的子视图)。为此,我需要子字符串坐标。我经历了这些,但我无法理解。假设我的完整字符串是abc,567-324-6554,纽约。我希望567-324-6554显示在我需要其坐标的按钮上。 如何使用上面的链接查找子字符串的坐标?
谢谢,

UILabel
没有执行此操作的任何方法。您可以使用,因为它实现了。您需要将文本视图的
editable
属性设置为
NO

类似这样未经测试的代码应该可以工作:

- (CGRect)rectInTextView:(UITextView *)textView stringRange:(CFRange)stringRange {
    UITextPosition *begin = [textView positionFromPosition:textView.beginningOfDocument offset:stringRange.location];
    UITextPosition *end = [textView positionFromPosition:begin offset:stringRange.length];
    UITextRange *textRange = [textView textRangeFromPosition:begin toPosition:end];
    return [textView firstRectForRange:textRange];
}
它应该返回一个
CGRect
(在文本视图的坐标系中),它覆盖了
stringRange
指定的子字符串。如果将按钮设置为文本视图的子视图,则可以将按钮的边框设置为该矩形


如果子字符串跨越多行,则矩形将仅覆盖第一行。

我想在UITextView中找到此字符串“***”的x和y,您能否帮助我尝试执行此操作,但其错误为CGRect varf=[self-RectinextView:select4 stringRange:@“**”;您需要传递
CFRange
,而不是
NSString
,作为
stringRange
参数。也许您会发现
NSString
rangeOfString:
方法很有用。int-beginIndex=[select4.text-rangeOfString:@“***”位置;至于“我怎么称呼这个函数”,我不知道你说的是什么函数。如果您的意思是
rangeOfString:
,您可以阅读手册或查看在的搜索框中键入
rangeOfString
时出现的大量示例代码文件之一。做好你的工作!