回答
試試這個
yourLabel.lineBreakMode=UILineBreakModeTailTruncation;
如果從界面生成器添加您的UILabel,你可以直接做到這一點。 選擇您的UILabel,並在公用事業列Attriubtes督察 =>標籤節=>換行符設置截斷尾
如果您使用的是NIB,您還可以在NIB中設置換行符模式。 –
@robmayoff你提到它,我已經在我的答案中顯示如何做到這一點 – Neo
要麼你可以UILable
尺寸(長/寬)動態,
或者
您可以用UITextView
編輯禁用因此,如果有將是漫長的文本將是滾動的。
你也可以使用sizeToFit和sizeThatFits,這也可以解決你的問題。 – kamleshwar
從您共享的信息我想autoshrink
和linebreakermode
可能是根本原因.IT是試圖顯示指定框架中的內容的屬性,它將減少並調整字體大小
2種方式來解決問題
- 根據需要
- 增加標籤的框架尺寸調整財產(以編程方式找到大小)
- 也期待在邊緣插圖
試試你這會有所幫助。
NSString *string=YourString;
int size=[YourString length];
if (size>21)
{
NSMutableString *string1 = [[NSMutableString alloc]init];
char c;
for(int index = 0;index <20 ;index++)
{
c =[string characterAtIndex:index];
[string1 appendFormat:@"%c",c];
}
[string1 appendFormat:@"..."];
string=string1;
}
在您的UILable上添加「string」。
CGSize constraint = CGSizeMake(690.0, 2000.0);
CGSize size_txt_overview1 = [[headItemArray objectAtIndex:k] sizeWithFont:[UIFont fontWithName:@"Helvetica" size:18] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
UILabel *lbl_headitem = [[UILabel alloc]initWithFrame:CGRectMake(3,h, 690, size_txt_overview1.height)];
lbl_headitem.numberOfLines=0;
請CGSize
約束設置你的UILabel
寬度和高度。最好的方式..它爲我工作。
如果你也獲得了大量的數據。它會正常工作.. –
請確保Yourlabel.numberOfLines = 0; –
這是的UILabel
的分類方法-(void)setTruncatedTextWithDotsIfNeeded:(NSString *)text
{
float fullTextWidth = [text sizeWithFont:self.font].width;
float labelWidth = self.frame.size.width;
if(fullTextWidth<=labelWidth){
[self setText:text];
return;
}
NSString *dots = @"…";
float dotsWidth = [dots sizeWithFont:self.font].width;
NSRange fullRange = [text rangeOfString:text];
for(int i = fullRange.length; i >= fullRange.location; i--){
NSRange currentRange;
currentRange.location = 0;
currentRange.length = i;
NSString *partialText = [text substringWithRange:currentRange];
float partialTextWidth = [partialText sizeWithFont:self.font].width;
if(partialTextWidth + dotsWidth <= labelWidth){
[self setText:[NSString stringWithFormat:@"%@...",partialText]];
return;
}
}
}
#define EXCEEDED_LENGTH 8
- (NSString *) checkStringLength:(NSString *)str
{
if(str.length >= EXCEEDED_LENGTH)
{
return [NSString stringWithFormat:@"%@...",[str subStringToIndex:EXCEEDED_LENGTH-1]];
}
return str;
}
yourLabel.text = [self checkStringLength:@"Hello World !!"];
輸出像Hello Wo...
爲了獲得更好的輸出,您可以trim
whitespaces
前傳字符串的功能。
- 1. 當文本超過一定長度時,將文本換行到下一行?
- 2. 當文本長度超過一列時添加第二行ultraWinGrid
- 3. 如何在文本的長度超過div的長度時使文本換行?
- 4. 當ECharts標籤的長度過長時,標籤無法顯示
- 5. 即使超過ng-maxlength,如何顯示文本長度?
- 6. 如何限制UILabel文本長度 - IOS
- 7. 在iOS中文字長度超過最大長度時未粘貼文字
- 8. 的getBytes超過數據長度,但幅度明顯小於長度
- 9. Gridview中的文本長度超過寬度
- 10. Javascript數組顯示長度爲0時的長度
- 11. 如何在文本長度大於標籤寬度時使UILabel文本顯示爲「...」
- 12. 文件大小超過長度
- 13. NSString文本像素長度
- 14. 基於文本長度的目標c uilabel寬度
- 15. 與UILabel和隨機文本長度的UITableViewCell高度的問題
- 16. UIWebView文本長度
- 17. OF_packet_data的長度超過OF_IN_packet的總長度
- 18. 未找到分隔符/字符串長度超過DDL長度
- 19. 當定義長度時不顯示散景光標字形
- 20. ABAP:剪掉超過一定長度的文字
- 21. SAS顯示比列長度長的值
- 22. 當長度小於設定長度時,數據需要較長的列數
- 23. 獲取一個UILabel的「長度」在Xamarin.iOS
- 24. 如果文本文本長度超過fPDF中的單元格寬度?
- 25. 當輸入列表超過一定長度時,多處理代碼掛起
- 26. 。長度顯示在JavaScript
- 27. ASP.NET MVC顯示列長度
- 28. R:當字符串超出設定長度時,在grid.table內換行文本
- 29. 在顯示文本長度錯誤的uitextfield中輸入文本時使用Backspace
- 30. 當字符串長度超過10時出現換行符char
那麼你想根據那個角色增加標籤的高度和寬度嗎? –