第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將UILabel高度調(diào)整為文本

將UILabel高度調(diào)整為文本

慕斯王 2019-11-11 13:06:25
我有一些標(biāo)簽要根據(jù)文本調(diào)整高度,這是我現(xiàn)在為此編寫的代碼func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{    let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.max))    label.numberOfLines = 0    label.lineBreakMode = NSLineBreakMode.ByWordWrapping    label.font = font    label.text = text    label.sizeToFit()    return label.frame.height}編輯:問題不在這段代碼中,所以我的解決方法是問題本身。它可能對其他人仍然有用!
查看完整描述

3 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

我剛把它放在操場上,對我有用。


為Swift 4.0更新


import UIKit


 func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{

    let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.greatestFiniteMagnitude))

    label.numberOfLines = 0

    label.lineBreakMode = NSLineBreakMode.byWordWrapping

    label.font = font

    label.text = text


    label.sizeToFit()

    return label.frame.height

}


let font = UIFont(name: "Helvetica", size: 20.0)


var height = heightForView("This is just a load of text", font: font, width: 100.0)

斯威夫特3:


func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{

    let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude))

    label.numberOfLines = 0

    label.lineBreakMode = NSLineBreakMode.byWordWrapping

    label.font = font

    label.text = text

    label.sizeToFit()


    return label.frame.height

}

http://img1.sycdn.imooc.com//5dc8ec670001c35f09160319.jpg

查看完整回答
反對 回復(fù) 2019-11-11
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

如果使用的是AutoLayout,則UILabel只能通過config UI 調(diào)整高度。


對于iOS8或更高版本


為您設(shè)置約束條件領(lǐng)先/追蹤 UILabel

并將行UILabel從1 更改為0

http://img1.sycdn.imooc.com//5dc8ec750001525702050021.jpg

對于iOS7


首先,您需要添加包含高度UILabel

然后,將關(guān)系從修改Equal為Greater than or Equal

http://img1.sycdn.imooc.com//5dc8ec7c0001961502550198.jpg

最后,將行UILabel從1 更改為0

http://img1.sycdn.imooc.com//5dc8ec840001525702050021.jpg

您UILabel將根據(jù)文本自動(dòng)增加高度



查看完整回答
反對 回復(fù) 2019-11-11
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

我有很強(qiáng)的工作解決方案。


在layoutSubviews中:


    _title.frame = CGRect(x: 0, y: 0, width: bounds.width, height: 0)

    _title.sizeToFit()

    _title.frame.size = _title.bounds.size

在文本設(shè)置器中:


    _title.text = newValue

    setNeedsLayout()

UPD。 當(dāng)然可以使用以下UILabel設(shè)置:


    _title.lineBreakMode = .ByWordWrapping

    _title.numberOfLines = 0


查看完整回答
反對 回復(fù) 2019-11-11
  • 3 回答
  • 0 關(guān)注
  • 601 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)