我已經確定了UILabel
的範圍。單行,2-3個字。我必須改變字體大小。以編程方式將內容調整爲強烈確定的矩形的最佳解決方案是什麼?UILabel的自動調整內容
1
A
回答
0
我找到了解決方案,手動檢查尺寸。其他解決方案工作不正常。可能是這個代碼將有助於某人。這裏需要解決的代碼:
-(void) autoResizeLabel: (UILabel*) label withMaxWidth:(CGFloat)mw withMaxHeight:(CGFloat)mh
{
CGFloat fontSize = 1.f;
CGFloat outSize = fontSize;
CGFloat mDelta = 30.f;
CGFloat delta = 1.f;
BOOL activated = NO;
BOOL broken = NO;
for (float fSize = fontSize; fSize < fontSize + mDelta; fSize += delta)
{
CGRect r = [label.text boundingRectWithSize:label.frame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fSize]} context:nil];
CGFloat width = r.size.width;
CGFloat height = r.size.height;
if (mw <= width || mh <= height)
{
if (activated)
{
outSize = fSize - delta;
}
broken = YES;
break;
}
activated = YES;
//NSLog(@"%f;%f;%f",fSize,mw,mh);
}
if (activated && !broken) outSize = fontSize + mDelta - delta;
[label setFont:[UIFont systemFontOfSize:outSize]];
}
0
設置標籤
_myLabel.adjustsFontSizeToFitWidth = YES;
_myLabel.minimumScaleFactor = 0.5f;
0
相關問題
- 1. UILabel如何自動調整內容?
- 2. 動態調整UILabel的內容大小
- 3. 自動調整UILabel
- 4. UIScrollView自動調整內容?
- 5. 用SnapKit自動調整UILabel
- 6. UILabel - 自動調整大小
- 7. 如何使用內容調整uilabel?
- 8. iOS - 調整UILabel以匹配內容?
- 9. 自動調整內容的高度
- 10. 如何自動調整Borderpane的內容?
- 11. JLayeredPane的自動內容大小調整
- 12. 自動調整到BI Publisher的內容
- 13. 如何自動調整WKWebView的內容?
- 14. QDockWidget的內容自動調整大小
- 15. 不要自動調整大小的UILabel
- 16. 自動調整UILabel的高度
- 17. iPhone - 根據傳遞的數據動態調整UILabel內容
- 18. 自動調整UIWebView以適應內容
- 19. qlineedit自動調整大小到內容
- 20. 自動調整css div內容
- 21. 在Swift中自動調整多行UILabel
- 22. 使用Autolayout時自動調整UILabel
- 23. 自動調整UILabel字體大小
- 24. UILabel未使用自動佈局調整
- 25. 多行自動調整文本UILabel
- 26. CSS製作內容DIV自動調整大小後的內容
- 27. Iframe動態內容調整
- 28. UIScrollView動態調整UILabel
- 29. 根據UITableViewCell中的內容調整UILabel的大小iOS
- 30. 根據自己的內容自動調整GridView列的寬度
它在空中工作嗎? – Vyacheslav
它確實如果你設置了_myLabel.adjustsFontSizeToFitWidth = YES;' – Eugene
奇怪。它不適用於我的設備。 – Vyacheslav