swift 根據文字自動計算Label大小

2021-07-31 13:56:27 字數 722 閱讀 5784

//方法

func textsize(text : string , font : uifont , maxsize : cgsize) -> cgsize

let textfont = uifont.systemfont(ofsize: 14)

let textstring = "兒子中考考試考差了,被老婆罵了一頓。

我去安慰兒子:「你要努力學習,以後一定要超越爸爸。」

兒子愣了一下,弱弱來了一句:「別的我不敢保證。但是,以後找個比你好的老婆還是很有把握的。」‍‍‍‍ "

let textmaxsize = cgsize(width: 240, height: cgfloat(maxfloat))

let textlabelsize = self.textsize(text:textstring , font: self.textfont, maxsize: textmaxsize) //獲得根據文字計算的到的size

oc 寫法

-(cgsize)getlabelsiex:(nsstring *)text font:(uifont *)font maxsize:(cgsize)maxsize context:nil].size;

return size;

}

ps.label一定設定為自動換行 (labe.numberoflines = 0)才能生效;

根據文字內容自動計算文字高度

在開發過程中,經常需要根據文字內容自適應高度,並設定行間距,這是寬度一般給乙個相對固定的寬度,比如螢幕的寬度減去左右兩邊各15 個畫素的間距。下面是乙個計算自適應高度的標題和內容的 sesameremarkitemmodel 是乙個字典型別,裡面包含title和content字串。define kc...

Swift 計算文字的size

ios 11之前限制寬高計算字串的size用的是uilabel的textrect forbounds bounds cgrect,limitedtonumberoflines numberoflines int cgrect方法,當時也沒考慮執行緒安全問題 low爆了 xcode也沒提示,用了好幾個...

Swift 計算文字的size

ios 11之前限制寬高計算字串的size用的是uilabel的textrect forbounds bounds cgrect,limitedtonumberoflines numberoflines int cgrect方法,當時也沒考慮執行緒安全問題 low爆了 xcode也沒提示,用了好幾個...