调整NSAttributedString中使用的图像的大小

时间:2015-05-12 13:47:52

标签: ios objective-c nsattributedstring

  

可能duplicate但下面接受的答案是一个简单的单功能解决方案。

我试图制作一篇新闻文章,详细说明视图控制器在顶部显示文章的图像,然后是日期,然后是长描述。

我了解到我必须使用self.tableView.bounces = false 而只使用一个NSAttributedString才能做到这一点。现在一切正常但我现在只有一个问题:图像宽度不适合屏幕宽度(或TextView宽度),请看下面的图像:

App Screenshot

我尝试了一切,没有任何作用。

如何使图像适合屏幕宽度?

提前致谢。

再次编辑 这是涉及的代码:

UITextView

1 个答案:

答案 0 :(得分:0)

哦,对,所以NSTextAttachment没有图像视图......啊......好吧,想到另一个想法。如何重新生成UIImage数据,然后将该图片传递到NSTextAttachment,就像在这篇帖子中一样:

  

https://stackoverflow.com/a/2658801/4657588

使用此方法相应地调整图像大小:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    //UIGraphicsBeginImageContext(newSize);
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
    // Pass 1.0 to force exact pixel size.
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return newImage;
}