Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.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
Ios 计算适合固定矩形文本视图的字符_Ios_Nsstring_Uitextview - Fatal编程技术网

Ios 计算适合固定矩形文本视图的字符

Ios 计算适合固定矩形文本视图的字符,ios,nsstring,uitextview,Ios,Nsstring,Uitextview,我在这里看到人们需要计算给定大小的NSString的大小,但我需要做相反的事情 给定指定的rect(或固定UITextView,或多行UILabel,无滚动),我需要知道: 如果它能够显示我的字符串的所有字符 如果没有,最后显示的字符是什么 这样我就可以在另一个UITextView中显示剩余的文本(当然,如果我可以使用单个UITextView,我就不会有这个问题) 起初,这似乎是一件简单的事情,但实际上我没有找到一种方法,直觉上我认为我可以使用UITextView的: textView.co

我在这里看到人们需要计算给定大小的NSString的大小,但我需要做相反的事情

给定指定的rect(或固定UITextView,或多行UILabel,无滚动),我需要知道:

  • 如果它能够显示我的字符串的所有字符
  • 如果没有,最后显示的字符是什么
这样我就可以在另一个UITextView中显示剩余的文本(当然,如果我可以使用单个UITextView,我就不会有这个问题)

起初,这似乎是一件简单的事情,但实际上我没有找到一种方法,直觉上我认为我可以使用UITextView的:

textView.contentSize.height;
或NSString的:

sizeWithFont:constrainedToSize:lineBreakMode:
或者两者的结合,但我需要精确,这些方法不能帮助我判断最后一个能够匹配UITextView可见区域的字符是什么


不确定这是否真的可行,但这是我的客户的要求,他认为编程iOS就像打印报纸一样,希望能够格式化图像周围的文本……

您可以从一个一个字符长的字符串中获得一行文本的最大高度

如果将其与sizeWithFont:constrainedToSize:lineBreakMode:一起使用,则应该能够知道文本是否在多行上运行(如果cgsize高度大于一行文本的高度)

为了找出最后一个字符(或单词),您必须在字符串长度上循环添加字符(或单词),并检查cgsize高度何时增加以添加新行,这将为您提供拆分为多个字符串的字符点(对于多个字段/标签/文本视图)或者何时在文本中插入换行符(如果使用单个多行文本视图或标签)


我希望你能找到一个更简单的方法……

是的,我也想过,但这太疯狂了,也许有人有更好的想法,文本可能很长,我需要在最短的时间内正确。