Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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
Iphone 在文本视图中高亮显示文本_Iphone - Fatal编程技术网

Iphone 在文本视图中高亮显示文本

Iphone 在文本视图中高亮显示文本,iphone,Iphone,我们如何在文本视图中突出显示文本,如下图所示,用户点击选择诗句,它将以黄色亮起诗句,并弹出一个窗口显示该诗句以进行操作。如何做到这一点? 提前感谢。只能使用CoreText,因为它需要格式化属性和NSAttributedString来显示具有多种字体样式和颜色的文本 您可能对我的类感兴趣,它是UILabel的一个子类,用于呈现NSAttributedString(显然它使用CoreText) 由于无法直接/不支持设置文本范围的背景色(在NSAttributedString中没有相应的属性),您可

我们如何在文本视图中突出显示文本,如下图所示,用户点击选择诗句,它将以黄色亮起诗句,并弹出一个窗口显示该诗句以进行操作。如何做到这一点?
提前感谢。

只能使用CoreText,因为它需要格式化属性和
NSAttributedString
来显示具有多种字体样式和颜色的文本

您可能对我的类感兴趣,它是
UILabel
的一个子类,用于呈现
NSAttributedString
(显然它使用CoreText)


由于无法直接/不支持设置文本范围的背景色(在
NSAttributedString
中没有相应的属性),您可能需要自己绘制黄色矩形(在绘制文本之前),但我在课堂上也这样做过,以管理突出显示的链接(请参见
drawActiveLinkHighlightForRect:
method)因此,您可以在您的情况下执行类似的操作。

我相信您的示例使用CoreText框架来呈现NSAttributedString对象Show我可以使用core textframe工作吗?您需要根据字形信息或框架设置器的方便方法来计算文本大小。或者您可以创建一个包含(属性化)的详细数据结构文本和矩形用于选择、触摸检测等。是的,按照Martin说的做,看看我的
drawActiveLinkHighlightForRect:
,我的源代码就是这样做的(绘制给定文本范围的背景矩形)。这可能看起来有点复杂,但它可以管理要高亮显示的文本跨越多行的情况(如在屏幕截图中)您是否正确配置OHAttributedLabel?在github repo中检查我的示例项目,我在其中放了很多示例。尝试影响您在该示例项目中的诗句,以检查它是否有效。同时检查您的
OHAttributedLabel*lable1
是否足够高(框架足够大,可以显示attributedString)或者使用
sizeToFit
相应地调整大小。(注意,如果您有问题,您可以搜索,因此有多个关于我的
OHAttributedLabel
的Q&A)当我放置此项时,应用程序崩溃。我使用label1显示诗句。如果不看到任何代码或崩溃的异常详细信息或任何其他详细信息,将无法帮助您(对不起,我的水晶球丢了)