class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//富文本是字符串的一種,可以對同一個字符串中的字符設置不同的樣式
//設置文字
//setText()
//設置段落
setParagraph()
//插入圖片---圖文混排
//setImage()
}
func setText() {
let label1 = UILabel(frame: CGRectMake(10,10,200,50))
label1.textColor = UIColor.blackColor()
label1.font = UIFont.systemFontOfSize(20)
self.view.addSubview(label1)
let str1 = "¥300/位"
//初始化富文本
let attStr = NSMutableAttributedString(string: str1)
//分別設置單一的屬性
//設置字體大小
//attStr.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(30), range: NSMakeRange(0, 4))
//設置字體的顏色
//attStr.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, 4))
//通過字典的方式統一設置
attStr.addAttributes([NSFontAttributeName:UIFont.boldSystemFontOfSize(30),NSForegroundColorAttributeName:UIColor.blueColor()], range: NSMakeRange(0, 4))
//賦值
label1.attributedText = attStr
}
func setParagraph() {
let label2 = UILabel(frame: CGRectMake(0,10,self.view.frame.size.width,400))
label2.numberOfLines = 0
//設置折行方式
label2.lineBreakMode = .ByWordWrapping
self.view.addSubview(label2)
let str = "蘋果公司(Apple Inc. )是美國的一家高科技公司。由史蒂夫·喬布斯、斯蒂夫·沃茲尼亞克和羅·韋恩(Ron Wayne)等人于1976年4月1日創立,并命名為美國蘋果電腦公司(Apple Computer Inc. ), 2007年1月9日更名為蘋果公司,總部位于加利福尼亞州的庫比蒂諾。蘋果公司1980年12月12日公開招股上市,2012年創下6235億美元的市值記錄,截至2014年6月,蘋果公司已經連續三年成為全球市值最大公司。蘋果公司在2016年世界500強排行榜中排名第9名。"
//初始化富文本
let attStr = NSMutableAttributedString(string: str)
//初始化段落樣式
let paraStyle = NSMutableParagraphStyle()
//設置行間距,返回值類型為CGFloat
paraStyle.lineSpacing = 20.0
//段落間距
paraStyle.paragraphSpacing = 10.0
//設置首行縮進的距離
paraStyle.firstLineHeadIndent = 40.0
//設置除首行之外的行縮進的距離
paraStyle.headIndent = 20.0
//將段落樣式設置給富文本
attStr.addAttributes([NSParagraphStyleAttributeName:paraStyle], range: NSMakeRange(0, (str as NSString).length))
label2.attributedText = attStr
}
func setImage() {
let label3 = UILabel(frame: CGRectMake(0,10,300,400))
label3.numberOfLines = 0
label3.lineBreakMode = .ByWordWrapping
label3.text = "蘋果公司(Apple Inc. )是美國的一家高科技公司。由史蒂夫·喬布斯、斯蒂夫·沃茲尼亞克和羅·韋恩(Ron Wayne)等人于1976年4月1日創立,并命名為美國蘋果電腦公司(Apple Computer Inc. ), 2007年1月9日更名為蘋果公司,總部位于加利福尼亞州的庫比蒂諾。蘋果公司1980年12月12日公開招股上市,2012年創下6235億美元的市值記錄"
self.view.addSubview(label3)
//初始化富文本,mutableCopy復制一份對象
let attStr = label3.attributedText?.mutableCopy()
//插入圖片
let image = UIImage(named: "111")
//初始化圖文混排的類
let attachment = NSTextAttachment()
//設置大小---圖片的大小
attachment.bounds = CGRectMake(0, 0, 30, 30)
//將圖片賦給圖文混排的類
attachment.image = image
//通過圖文混排的類初始化一個新的富文本字符串
let attStr1 = NSAttributedString(attachment: attachment)
//將圖片插入到原來的文字中
attStr?.insertAttributedString(attStr1, atIndex: 50)
label3.attributedText = attStr as! NSMutableAttributedString
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
系統講解NSAttributedString
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 說一說你平時寫代碼遵守的編碼規范 文件/資源命名文件名應遵循同一命名約定。以可讀性而言,減號(-)是用來分隔文件名...