******选项1******
.
如果您想在多行模式下浏览文本:使用TTTAttributedLabel
创建新的TTTAttributedLabel.h和TTTAttributedLabel.m文件(不是来自GITHUB,因为我调整了单/双删除线功能)
http://www.2shared.com/file/Z_qZpWVd/TTTAttributedLabel.html
http://www.2shared.com/file/xXjmC-1M/TTTAttributedLabel.html
并且你需要一个删除线标签 - 使用TTTAttributedLabel而不是UILabel.
设置删除线 =
TTTAttributedLabel *labelName = [[TTTAttributedLabel alloc] init];
labelName.linkAttributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES]
forKey:@"TTTCustomStrikeOut"];
Run Code Online (Sandbox Code Playgroud)
设置doublethrough =
TTTAttributedLabel *labelName = [[TTTAttributedLabel alloc] init];
labelName.linkAttributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES]
forKey:@"TTTCustomDoubleStrikeOut"];
Run Code Online (Sandbox Code Playgroud)
添加标签文本应该被删除的范围+提供可点击的链接(无,无链接):
//set link to nil, to NOT-have a link on taping on this label.
[labelName addLinkToURL:nil withRange:NSMakeRange(0, [labelName.text length])];
Run Code Online (Sandbox Code Playgroud)
PS - 要正确地重新定位双删除线 - 请编辑TTTAtributedLabel.m文件,在483,484和489,490行(目前我改变了上线y-2和下y + 2从中心.调整以获得更好的结果.)
.
******选项2******
.
将所有字符串符号转换为特殊的透视字符.
您可以从这个主页获取它们:http://adamvarga.com/strike/
然后你可以 - 例如,在语言文件中放置必要的符号翻译:
"A"="A̶"; "B"="B̶"; "C"="C̶"; "D"="D̶"; "E"="E̶"; "F"="F̶"; "G"="G̶"; "H"="H̶"; ....
并使用此函数,将普通文本字符串转换为删除字符串:
- (NSString *)returnStrikedOutTextFromString:(NSString *)mString
{
NSString * mNewString = @"";
for(int i = 0; i<[mString length]; i++)
{
mNewString = [NSString stringWithFormat:@"%@%@",mNewString,
NSLocalizedString([[mString substringToIndex:i+1] substringFromIndex:i],nil)];
}
return mNewString;
}
Run Code Online (Sandbox Code Playgroud)
例如:
textLabel.text = [self returnStrikedOutTextFromString:@"string text"];
Run Code Online (Sandbox Code Playgroud)
****选项3****
我还建议尝试这里提到的UILabel子类:UIlabel中的下划线文本
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
12067 次 |
| 最近记录: |