分別用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,241評論 4 61
  • “輕知”林懷民 若干年前的國際藝術節期間,有機會在大劇院看過他帶著云門舞者演繹的紅樓,演出結束時他出來向觀眾答謝,...
    慧語人生閱讀 432評論 0 1
  • 本文參加#未完待續,就要表白#活動,本人承諾,文章內容為原創,且未在其他平臺發表過。 度過了為高...
    無名小小李閱讀 528評論 0 3
  • M魚兒yo 2017年07月24日 2017-07-24 20:1131 曾經 我想要得到的東西 總是要哭過鬧過之...
    Yoyoyua閱讀 172評論 0 0
  • 初學者可能認為這些啟動圖標和啟動頁尺寸都需要查資料然后死記硬背才行。今天告訴大家,這些都是不需要查資料更不需要死記...
    悟2023閱讀 2,447評論 2 3