ios 如何检测UILabel中的省略号?[已关闭]

deyfvvtc  于 2023-02-20  发布在  iOS
关注(0)|答案(3)|浏览(233)

很难判断此处所问的问题。此问题模棱两可、模糊不清、不完整、过于宽泛或过于修辞,无法以其当前形式合理地回答。若要获得澄清此问题以便重新打开的帮助,请单击visit the help center
九年前就关门了。
我在Objective C上编程。我有一个UITableView,其中有UILabel的。如何检测UILabel中的省略号?

u5rb5r59

u5rb5r591#

首先,我们可以得到文本的宽度,这将呈现在标签。然后,我们可以比较宽度与标签的宽度。如果宽度超过,那么字符串被截断,否则不。

    • 更新**

如果标签有行,则计算行数并检查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");

希望这对你有帮助。

z18hc3ub

z18hc3ub2#

NSString *str = @"Hello this is the ...";
NSRange range = [str rangeOfString:@"..."];
if (range.location>0 && range.length == 3) {
    //Found
}
eivgtgni

eivgtgni3#

UILabel *lbl ;
 lbl.text = @"Hello..World.";
 NSString * charToCount = @".";
 NSArray * array = [lbl.text componentsSeparatedByString:charToCount];
 if([array count] >= 3)
    NSLog(@"Found");
 else 
    NSLog(@"Not Found");

相关问题