簡體   English   中英

無法將UILabel高度調整為其文本高度

[英]Unable to fit a UILabel height to its text height

我有一個自定義視圖,在其中放置UIImageViewUILabel 標簽的文本可以是任意大小,並且可以動態設置,因此我將標簽的numOfLines設置為0。

另外,我正在使用Autolayout 圖像視圖是一個放置在標簽右側的圖標,我需要將圖標和文本的上邊緣對齊(而不是標簽的頂部)。 我嘗試了幾種方法來擺脫標簽和標簽文本之間的填充( sizeToFitsizeThatFits ),但均未成功,我需要標簽的高度與文本的高度完全匹配才能對齊頂部帶圖標的文字...我該如何實現?

如果要在這種情況下設置動態高度以標記,則首先需要檢查情節提要/ xib中的prefferedmaxwidth選項,然后設置uilabel約束。

設置標簽約束的順序:-1.前2.前3.后

如果您當前的標簽高度與要求的高度不同,則會發出警告。 如果是這種情況,請為此標簽選擇“更新框架”選項。

現在設置底部約束。

無需調用sizetofit方法。 自動版式會為您計算身高

您可以使用以下代碼通過更改Label的高度約束來更改Label的高度,

CGSize size = [@"your text" boundingRectWithSize:CGSizeMake(label.bounds.size.width, 10000) options:(NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName : @"FontName"} context:nil].size;

labelHeightConstraint = size.height;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM