1. 程式人生 > >iOS 富文字如何新增圖片

iOS 富文字如何新增圖片

//聯絡人:石虎 QQ:1224614774 暱稱:嗡嘛呢叭咪哄

                       QQ群:807236138  群稱:iOS 技術交流學習群

一、概念

    1.新增圖片效果圖

    2.富文字新增圖片程式碼

    3.富文字總結

    4.直接拷貝程式碼就可以用

二、新增圖片效果圖

圖1:

圖2:

三、富文字新增圖片程式碼

//  ViewController.m
//  測試富文字
//
//  Created by joyshow on 2018/7/10.
//  Copyright © 2018年 石虎. All rights reserved.


#import "ViewController.h"
@interface ViewController ()
@end


@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //1.設定標籤

    UILabel *titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    titleLabel.backgroundColor = [UIColor yellowColor];
    titleLabel.text = @"石虎祝所有人步步高昇,成為技術大神";
    titleLabel.textColor = [UIColor redColor];
    [self.view addSubview:titleLabel];


    //2.初始化富文字物件
     NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:titleLabel.text];
    //2.1修改富文字中的不同文字的樣式
    [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 5)];//字型顏色
    [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor purpleColor] range:NSMakeRange(7, 6)];//字型顏色
    [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:22] range:NSMakeRange(0, 6)];//字型大小

    
    //3.初始化NSTextAttachment物件
    NSTextAttachment *attchment = [[NSTextAttachment alloc]init];
    attchment.bounds = CGRectMake(0, 0, 40, 40);//設定frame
    attchment.image = [UIImage imageNamed:@"release_homework"];//設定圖片


    //4.建立帶有圖片的富文字
    NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:(NSTextAttachment *)(attchment)];
    [attributedString insertAttributedString:string atIndex:0];//插入到第幾個下標
    [attributedString appendAttributedString:string];   //新增到尾部


    //5.用label的attributedText屬性來使用富文字
    titleLabel.attributedText = attributedString;

}

@end

四、富文字總結

這是富文字的所有屬性

屬性Name 幹啥的 型別
NSFontAttributeName 字號 UIFont 預設12
NSParagraphStyleAttributeName 段落樣式 NSParagraphStyle
NSForegroundColorAttributeName 前景色 UIColor
NSBackgroundColorAttributeName 背景色 UIColor
NSObliquenessAttributeName 字型傾斜 NSNumber
NSExpansionAttributeName 字型加粗 NSNumber 比例 0就是不變 1增加一倍
NSKernAttributeName 字間距 CGFloat
NSUnderlineStyleAttributeName 下劃線 1或0
NSUnderlineColorAttributeName 下劃線顏色 UIColor
NSStrikethroughStyleAttributeName 刪除線 1或0
NSStrikethroughColorAttributeName 刪除線顏色 UIColor
NSStrokeColorAttributeName same as ForegroundColor UIColor
NSStrokeWidthAttributeName 字型描邊 CGFloat
NSLigatureAttributeName 連筆字 沒看出效果 1或0
NSShadowAttributeName 陰影 NSShawdow
NSTextEffectAttributeName 設定文字特殊效果,目前只有圖版印刷效果可用 NSString
NSAttachmentAttributeName 設定文字附件,常用插入圖片 NSTextAttachment
NSLinkAttributeName 連結 NSURL (preferred) or NSString
NSBaselineOffsetAttributeName 基準線偏移 NSNumber
NSWritingDirectionAttributeName 文字方向 分別代表不同的文字出現方向等等,我想你一定用不到它 - - @[@(1),@(2)]
NSVerticalGlyphFormAttributeName 水平或者豎直文字 在iOS沒卵用,不支援豎版 1豎直 0水平

謝謝!!!