我有一个NSAttributedString,我要向其中添加NSTextAttachment。图像是50w x 50h,但我希望它按比例缩小以反射(reflect)属性字符串的行高。我以为这会自动完成,但我想不会。我看过UImage类引用,但是此图像似乎未在UIImageView中设置,因此无法访问frame属性。这是我目前拥有的屏幕截图:

在理想的世界中,我还想实现一种基于用户输入(例如,增大字体大小)按比例放大图像的方法。关于如何实现这一目标的任何想法?
谢谢
编辑1
这是我的创建方式:

    NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
    textAttachment.image = [UIImage imageNamed:@"note-small.png"];
    NSLog(@"here is the scale: %f", textAttachment.image.scale);
    NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];
    [headerAS replaceCharactersInRange:NSMakeRange([headerAS length], 0) withString:@" "];
    [headerAS replaceCharactersInRange:NSMakeRange([headerAS length], 0) withAttributedString:attrStringWithImage];

最佳答案

查看子类NSTextAttachment并实现NSTextAttachmentContainer方法以根据提供的文本容器返回不同的大小。默认情况下,NSTextAttachment仅返回提供的图像的大小。

10-08 07:49