0

我正在编程Objective C。我有一个UITableViewwithUILabel的。如何检测 a 中的省略号UILabel

4

3 回答 3

8

首先,我们可以获得将在标签中呈现的文本的宽度。然后我们可以将该宽度与标签的宽度进行比较。如果该宽度超过,则字符串将被截断,否则不会。

更新

如果标签有行,则计算行数并检查 lablewidth*numofLines

UILabel *lblAppTitle = (UILabel*)[self.view viewWithTag:777];    
CGSize stringSize = [lblAppTitle.text sizeWithFont:lblAppTitle.font];

//Count Number of lines
[lblAppTitle sizeToFit];
int numLines = (int)(lblAppTitle.frame.size.height/lblAppTitle.font.leading);

if (stringSize.width > (lblAppTitle.frame.size.width)*numLines)
    NSLog(@"truncated string");
else
    NSLog(@"did not truncate string");

希望这对您有所帮助。

于 2013-03-21T06:17:06.270 回答
-1
NSString *str = @"Hello this is the ...";
NSRange range = [str rangeOfString:@"..."];
if (range.location>0 && range.length == 3) {
    //Found
}

希望这会帮助你。

于 2013-03-21T06:03:45.683 回答
-1
 UILabel *lbl ;
 lbl.text = @"Hello..World.";
 NSString * charToCount = @".";
 NSArray * array = [lbl.text componentsSeparatedByString:charToCount];
 if([array count] >= 3)
    NSLog(@"Found");
 else 
    NSLog(@"Not Found");

希望对你有帮助...

于 2013-03-21T06:14:41.517 回答