ill*_*tus 13 iphone unicode special-characters uilabel
关于将注册符号显示为上标我有一个问题.我使用了unicode值\ u00AE,但它显示在同一行.我想把它留在剩下的文本中.完成谷歌搜索,但发现AZ的上标,0-9个字符,这在unicode的网站中提到.
示例代码:
UILabel *myLabel; //do initialize stuff here
myLabel.text = @"My company\u00AE";
Run Code Online (Sandbox Code Playgroud)
谢谢
sor*_*rin 21
Unicode没有registered上标形式的符号,因此唯一的方法是使用HTML控件并将其包含在上标标签中:<sup>®</sup>
你可以在http://rishida.net/scripts/uniview/查看.
从iOS6开始,您实际上可以将NSAttributedString与UILabel一起使用.
要为注册商标符号设置上标,您可以使用以下类别:
#import <CoreText/CTStringAttributes.h>
#import "UILabel+ SetSuperScriptForRegisteredTrademarkSymbol.h"
@implementation UILabel (SetSuperScriptForRegisteredTrademarkSymbol)
- (void) setSuperScriptForRegisteredTrademarkSymbol {
NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc] initWithString:self.text];
NSUInteger count = 0, length = [mutableAttributedString length];
NSRange range = NSMakeRange(0, length);
while(range.location != NSNotFound)
{
range = [[mutableAttributedString string] rangeOfString:@"®" options:0 range:range];
if(range.location != NSNotFound) {
[mutableAttributedString addAttribute:(NSString*)kCTSuperscriptAttributeName value:@"1" range:range];
range = NSMakeRange(range.location + range.length, length - (range.location + range.length));
count++;
}
}
self.attributedText = mutableAttributedString;
}
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33104 次 |
| 最近记录: |