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

全日空

可能重复,但以下可接受的答案是一种简单的单功能解决方案。

我正在尝试制作新闻文章详细信息视图控制器,以在顶部显示文章的图像,然后显示日期,然后显示详细说明。

我了解到,我必须使用NSAttributedString并且只有一个才能使用UITextView现在一切正常,但是我现在只有一个问题:图像宽度不适合屏幕宽度(或TextView宽度),请参见以下图像:

应用截图

我尝试了一切,但没有任何效果。

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

提前致谢。

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

#import "SingleNewsViewController.h"

@interface SingleNewsViewController ()

@end

@implementation SingleNewsViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSAttributedString *image = [self imageString];
    NSAttributedString *date = [self dateString];
    NSAttributedString *body = [self bodyString];

    NSMutableAttributedString *wholeStory = [NSMutableAttributedString new];

    // TODO: can you be sure image, date and body are all non-nil?
    NSArray *allComponents = @[image, date, body];
    for(NSAttributedString *component in allComponents)
    {
        [wholeStory appendAttributedString:component];
        if(component != [allComponents lastObject])
            [[wholeStory mutableString] appendString:@"\n\n"];
    }

    self.tv.attributedText = wholeStory;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (UIImage *)image
{
    return [UIImage imageNamed:@"latest_news_img.jpg"];
}

- (NSString *)dateText
{
    return @"Hi There, this is date!";
}

- (NSString *)bodyText
{
    return @"Hi There, this is body text!Hi There, .....";
}

- (NSAttributedString *)imageString
{
    NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
    textAttachment.image = [self image];
    return [NSAttributedString attributedStringWithAttachment:textAttachment];
}

- (NSAttributedString *)dateString
{
    return [[NSAttributedString alloc]
            initWithString:[self dateText]
            /*attributes:
             @{
             NSFontAttributeName: [UIFont preferredFontForTextStyle: UIFontTextStyleSubheadline],
             ... etc ...
             }*/];
}

- (NSAttributedString *)bodyString
{
    return [[NSAttributedString alloc]
            initWithString:[self bodyText]
            /*attributes:
             @{
             NSFontAttributeName: [UIFont preferredFontForTextStyle: UIFontTextStyleBody],
             ... etc ...
             }*/];
}



@end
用户名

哦对了,所以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;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP直接从URL调整图像大小

来自分类Dev

使用CSS调整大小和裁剪图像

来自分类Dev

如何在tk中使用窗口调整图像大小

来自分类Dev

如何调整图像大小或作为NSAttributedString NSTextAttachment完成(或设置其初始大小)

来自分类Dev

如何使用PHP批量调整图像大小

来自分类Dev

如何在Outlook中使用VBA创建宏以调整图像大小

来自分类Dev

在CodeIgniter中使用gd2将图像旋转90度整体调整大小

来自分类Dev

使用CSS调整图像大小

来自分类Dev

在PHP中使用readfile()在下载和演示之前调整图像大小

来自分类Dev

使用javascript调整图像大小

来自分类Dev

在Ubuntu上使用convert调整图像的大小

来自分类Dev

使用空白来源调整图像大小

来自分类Dev

如何在Boost :: gil中使用Alpha运河调整png图像的大小

来自分类Dev

如何在Drupal 8中使用ckeditor调整上传的嵌入式图像的大小

来自分类Dev

使用createjs / easyljs调整图像大小

来自分类Dev

使用AlamofireImage调整下载图像的大小

来自分类Dev

如何在Python中使用Tkinter在Canvas中调整图像大小?

来自分类Dev

在C#中使用缩放和裁剪来调整图像大小

来自分类Dev

在PHP中使用GD调整图像大小以上传到S3

来自分类Dev

在pre_save信号中使用PIL调整图像大小

来自分类Dev

在show方法中使用Rails上的ruby调整图像大小

来自分类Dev

使用CSS调整图像大小

来自分类Dev

如何在android中调整图像大小以在扩展的通知中使用它?

来自分类Dev

使用imagemagick调整图像大小

来自分类Dev

使用Java调整图像大小

来自分类Dev

如何在PHP中使用透明性最小化PNG图像并调整其大小

来自分类Dev

使用CSS调整图像大小

来自分类Dev

在 tensorflow 中使用 5D 张量调整 3D 图像的大小

来自分类Dev

使用 javascript 调整图像大小

Related 相关文章

  1. 1

    使用PHP直接从URL调整图像大小

  2. 2

    使用CSS调整大小和裁剪图像

  3. 3

    如何在tk中使用窗口调整图像大小

  4. 4

    如何调整图像大小或作为NSAttributedString NSTextAttachment完成(或设置其初始大小)

  5. 5

    如何使用PHP批量调整图像大小

  6. 6

    如何在Outlook中使用VBA创建宏以调整图像大小

  7. 7

    在CodeIgniter中使用gd2将图像旋转90度整体调整大小

  8. 8

    使用CSS调整图像大小

  9. 9

    在PHP中使用readfile()在下载和演示之前调整图像大小

  10. 10

    使用javascript调整图像大小

  11. 11

    在Ubuntu上使用convert调整图像的大小

  12. 12

    使用空白来源调整图像大小

  13. 13

    如何在Boost :: gil中使用Alpha运河调整png图像的大小

  14. 14

    如何在Drupal 8中使用ckeditor调整上传的嵌入式图像的大小

  15. 15

    使用createjs / easyljs调整图像大小

  16. 16

    使用AlamofireImage调整下载图像的大小

  17. 17

    如何在Python中使用Tkinter在Canvas中调整图像大小?

  18. 18

    在C#中使用缩放和裁剪来调整图像大小

  19. 19

    在PHP中使用GD调整图像大小以上传到S3

  20. 20

    在pre_save信号中使用PIL调整图像大小

  21. 21

    在show方法中使用Rails上的ruby调整图像大小

  22. 22

    使用CSS调整图像大小

  23. 23

    如何在android中调整图像大小以在扩展的通知中使用它?

  24. 24

    使用imagemagick调整图像大小

  25. 25

    使用Java调整图像大小

  26. 26

    如何在PHP中使用透明性最小化PNG图像并调整其大小

  27. 27

    使用CSS调整图像大小

  28. 28

    在 tensorflow 中使用 5D 张量调整 3D 图像的大小

  29. 29

    使用 javascript 调整图像大小

热门标签

归档