//初始化label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];
//設置自動行數與字符換行
[label setNumberOfLines:0];
// 測試字串
NSString *str = @"\n 一別以後 兩地相懸 只說三四月 誰知五六年 七玄琴無意談 八行書無可傳 九連環從中斷 十里長亭望眼欲穿 百思想 千繫念 萬般無奈把郎怨 \n 萬言千語說不完 百無聊賴十倚欄 重九登高看孤雁 八月中秋月圓人不圓 七月半燒香秉燭問蒼天 六月伏天人人搖扇我心寒 五月石榴紅勝火 偏遇陣陣冷雨澆花端 四月枇杷未黃 我欲對鏡心意亂 忽匆匆 三月桃花隨水轉 飄零零 二月風箏線兒斷 噫 郎呀郎 恨不得下一世你爲女來我爲男";
// 設置字體大小
UIFont *font = [UIFont systemFontOfSize:20];
label.font = font;
// 設置自適應寬 高的參數
// 第一個參數: 被適應寬 高的對象
// 第二個參數: 寬 高的尺寸
// 第三個參數: 樣式
// 第四個參數: 是一個字典
// 第五個參數: 攜帶的內容 通常爲 nil
CGFloat width = [str boundingRectWithSize:CGSizeMake(self.view.frame.size.width - 100, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:font} context:nil].size.width;
label.text = str;
// 這裏高度就給 width 了 一樣都能實現
label.frame = CGRectMake(50, 80, width, width);
[self.view addSubview:label];測試