使用IOS 4,我想通過編程方式瞭解給定的文本是否適合某個UILabel,我可以在不進行復雜計算的情況下獲取該信息嗎?如果不是什麼是最基本的方法來計算呢?iPhone:我如何理解一個文本是否適合標籤
0
A
回答
6
NSString方法sizeWithFont:contrainedToSize:lineBreakMode:可以提供幫助。它會給你CGSize與字符串的計算大小。只需將其與您的UILabel.frame.size進行比較即可。
8
您可以撥打NSString
致電- (CGSize)sizeWithFont:(UIFont *)font
。
1
來確定與任何字體任何拉布勒的高度可以使用此功能
+(浮點)calculateHeightOfTextFromWidth:(的NSString *)文本:(UIFont *)withFont:(浮點)寬度:(UILineBreakMode) lineBreakMode;
+(float) calculateHeightOfTextFromWidth:(NSString*) text: (UIFont*)withFont: (float)width:(UILineBreakMode)lineBreakMode
{
if (([text length]>0))
{
CGSize suggestedSize = [text sizeWithFont:withFont constrainedToSize:CGSizeMake(width, FLT_MAX) lineBreakMode:lineBreakMode];
return suggestedSize.height;
}
return 18;
}
這是一個例子來理解這種功能的工作
if (![isRateABusinessController length]) {
companyNameLabel.text = [NSString stringWithFormat:@"%@",[allDetails objectForKey:@"CNAME"]];
NSString *cAdd = [NSString stringWithFormat:@"%@",[allDetails objectForKey:@"CADD"]];
float height = [ConfirmationViewController calculateHeightOfTextFromWidth:cAdd :[UIFont fontWithName:@"Arial" size:14] :170 :UILineBreakModeWordWrap];
addressLabel.text = [NSString stringWithFormat:@"%@",cAdd];
if (height > 30) {
CGRect rect = CGRectMake(addressLabel.frame.origin.x , addressLabel.frame.origin.y, addressLabel.frame.size.width, addressLabel.frame.size.height+12.0);
addressLabel.frame = rect;
}
}
else
{
companyNameLabel.text = [NSString stringWithFormat:@"%@",[Utility selectedCompanyName]];
NSString *cAdd = [NSString stringWithFormat:@"%@",[Utility selectedCompanyFullAddress]];
// NSString *star = [NSString stringWithFormat:@"Rating: %@",ratingName];
float height = [ConfirmationViewController calculateHeightOfTextFromWidth:cAdd :[UIFont fontWithName:@"Arial" size:14] :170 :UILineBreakModeWordWrap];
addressLabel.text = [NSString stringWithFormat:@"%@",cAdd];
if (height > 30) {
CGRect rect = CGRectMake(addressLabel.frame.origin.x , addressLabel.frame.origin.y, addressLabel.frame.size.width, addressLabel.frame.size.height+12.0);
addressLabel.frame = rect;
}
}
}
相關問題
- 1. 查找文本框/標籤標題是否適合控件
- 2. 如何使標籤的文本適合其寬度
- 3. 在標題標籤內使用圖像是否合適?
- 4. BCS是否適合我?
- 5. 如何使文本適合UITableViewCell是iOS7?
- 6. iPhone發佈標籤文本
- 7. 如何調整到適合img標籤?
- 8. Android - 如何檢查文本是否完全適合視圖?
- 9. JavaScript是結合我的標籤標籤
- 10. 這個dtd是否適合xml文件?
- 11. iPhone,我如何評估一個文本屬性是否等於define'd字符串?
- 12. 如何使tablayout圖標變大/適合每個標籤空間?
- 13. CSS:選擇一個文本,是不是一個span標籤內
- 14. 如何在iphone中解析xml標籤
- 15. 在<body>標籤內放置樣式表是否合適
- 16. 使用非ASCII(自然語言)XML標籤是否合適?
- 17. 我如何設置標籤的文本
- 18. 我們如何得到一個texview的文本是動態合理的
- 19. 是否有任何方法來檢查兩個標籤文本是否中斷?
- 20. iframe是否適合解決此問題?
- 21. ASP.NET div標籤適合
- 22. 我應該如何在Objective-C中聲明一個long? NSInteger是否合適?
- 23. 如何檢查一個適當的枚舉是否是迴文
- 24. 我想插入一個編輯文本框到一個標籤
- 25. 是否Node.js適合我的項目給我如何使用它?
- 26. 我smarty得到未知標籤,但它是一個合法的標籤
- 27. 是否有任何適合MAC的git文本編輯器?
- 28. 如何讓Span文本的佈局適合父div標籤的寬度?
- 29. 適合與標籤寬度的Java的Android文本
- 30. 通過配置文件初始化一個「singleton」是否合適?
的可能重複的[如何計算特定字體的文本字符串的寬度和字體大小?](http://stackoverflow.com/questions/1324379/how-to-calculate-the-width-of-a-text-string-of-a-specific-font-and-font-size) – jrturton