分别用OC和Swift做图文混排-基础demo

使用OC和Swift完成图片和文字在一起如下图的效果:

demo效果图

OC版本

- (void)viewDidLoad {
    [super viewDidLoad];
    //属性文本 Attachment - 附件
    
    NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
    attachment.image = [UIImage imageNamed:@"d_aini"];
    //lineHeight 大致和字体大小相等
    CGFloat height = self.label.font.lineHeight;
    attachment.bounds = CGRectMake(0, -3, height, height);
    
    NSAttributedString *imageStr = [NSAttributedString attributedStringWithAttachment:attachment];
    
    //定义一个可变的属性字符串
    NSMutableAttributedString *attrMStr= [[NSMutableAttributedString alloc] initWithString:@"我"];
    //拼接图片文本
    [attrMStr appendAttributedString:imageStr];
    [attrMStr appendAttributedString:[[NSAttributedString alloc] initWithString:@"爱你"]];
    
    
    //设置属性文本
    self.label.attributedText = attrMStr;
}

Swift版本

    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        //创建一个属性文本
        //图片附件
        let attactment = NSTextAttachment()
        attactment.image = #imageLiteral(resourceName: "d_aini")
        
        let imageStr  = NSAttributedString(attachment: attactment)
        let height = label.font.lineHeight
        attactment.bounds = CGRect(x: 0, y: -3, width: height, height: height)
        
        
        let attrStr = NSAttributedString(string: "我")
        let mAttrStr = NSMutableAttributedString(attributedString: attrStr)
        mAttrStr.append(imageStr)
        mAttrStr.append(NSAttributedString(string: "爱你"))
        
        label.attributedText = mAttrStr
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • “轻知”林怀民 若干年前的国际艺术节期间,有机会在大剧院看过他带着云门舞者演绎的红楼,演出结束时他出来向观众答谢,...
    慧语人生阅读 436评论 0 1
  • 本文参加#未完待续,就要表白#活动,本人承诺,文章内容为原创,且未在其他平台发表过。 度过了为高...
    无名小小李阅读 528评论 0 3
  • M鱼儿yo 2017年07月24日 2017-07-24 20:1131 曾经 我想要得到的东西 总是要哭过闹过之...
    Yoyoyua阅读 172评论 0 0
  • 初学者可能认为这些启动图标和启动页尺寸都需要查资料然后死记硬背才行。今天告诉大家,这些都是不需要查资料更不需要死记...
    悟2023阅读 2,447评论 2 3