- [__ NSCFString _getValue:forType:]:发送到实例的无法识别的选择器

时间:2015-09-03 08:53:18

标签: ios objective-c nsstring nsmutableattributedstring

NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:timeString];
    UIFont *font = [UIFont fontWithName:self.txtFieldForEndTime.font.familyName size:self.txtFieldForEndTime.font.pointSize / 2];

    NSDictionary *attrs = @{
                            NSFontAttributeName:font,
                            (__bridge NSString *)  kCTSuperscriptAttributeName:[string substringFromIndex:string.length - 2]
                            };
    [attString setAttributes:attrs range:[string rangeOfString:@"PM"]];

上面的代码试图超级编写最后两个AM / PM字符。

但是应用程序崩溃了 - [__ NSCFString _getValue:forType:]:发送到实例的无法识别的选择器。

请告诉我这段代码有什么问题。如果您的工作代码上标了NSString的一部分,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以通过缩小字体的磅值来伪造上标,并使用NSBaselineOffsetAttributeName属性在基线上向上或向下移动文本。