Ios NSUnderlineStyleSingle下划线超过文本范围

Ios NSUnderlineStyleSingle下划线超过文本范围,ios,hyperlink,nsrange,nsmutableattributedstring,Ios,Hyperlink,Nsrange,Nsmutableattributedstring,我已经实现了mutableAttributeText的下划线,也正确设置了范围,但它的下划线仍然超过了指定的范围,并填充了它所包含的文本框 [attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0,[attributedString length])]; 我希望这一切发生。

我已经实现了mutableAttributeText的下划线,也正确设置了范围,但它的下划线仍然超过了指定的范围,并填充了它所包含的文本框

[attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0,[attributedString length])];
我希望这一切发生。


但是我得到了这个问题。

问题是你的文本是多行的,你的范围是NSMakeRange(0,[attributedString length],这意味着到文本的结尾。你需要处理换行字符并相应地定义你的范围。每个单词都被视为portionString,因此attributedString是“ABC”“corporation”等等,所以attributedString length为我提供了字符串的单独长度。问题是您的文本是多行的,您的范围是NSMakeRange(0,[attributedString length]),这意味着到文本的结尾。您需要处理换行符并相应地定义范围。每个单词都作为portionString,因此attributedString是“ABC”“corporation”等,所以attributedString长度为我提供了字符串的单个长度。