label 自適應寬 高

//初始化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];測試

相關文章
相關標籤/搜索