gpt4 book ai didi

nsattributedstring - Super/Subscript 似乎在 iOS13 中被破坏 (NSAttributedString)

转载 作者:行者123 更新时间:2023-11-29 13:51:37 28 4
gpt4 key购买 nike

尝试在 UITextView 中使用 NSAttributedString 显示上标/下标文本在 iOS13 中似乎已损坏 - 除非有人知道否则?

奇怪的是,如果我使用 UIFont systemFont 那么它可以工作 - 但如果我使用任何其他字体它就不会。

请参阅下面的代码,以在我的测试应用程序中设置 UITextView。

- (void)viewDidLoad
{
[super viewDidLoad];

UIFont* font = [UIFont systemFontOfSize:32];
//UIFont* font = [UIFont fontWithName:@"Helvetica Neue" size:32];
//UIFont* font = [UIFont fontWithName:@"Courier" size:32];
//UIFont* font = [UIFont fontWithName:@"Arial" size:32];

NSMutableAttributedString* as = [[NSMutableAttributedString alloc] initWithString:@"Super2Script" attributes:@{NSFontAttributeName : font}];

[as addAttribute:(NSString*)kCTSuperscriptAttributeName value:@(1) range:NSMakeRange(5, 1)];



UITextView* tv = [[UITextView alloc] initWithFrame:CGRectZero];
tv.attributedText = as;
[tv sizeToFit];

[self.view addSubview:tv];
tv.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height / 2);
}

最佳答案

对此进行简单的“修复”。

看起来 kCTSuperscriptAttributeName 在 iOS13 中不再有效(对于非系统字体)。您需要改用 NSSuperscriptAttributeName。不知道它的定义在哪里(哪个 header )所以所需的实际字符串值是“NSSuperScript”

关于nsattributedstring - Super/Subscript 似乎在 iOS13 中被破坏 (NSAttributedString),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59438214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com