我有一个UI标签说" ABCDEFGH"。在iPhone 6等更广泛的设备中,我可以显示完整的文字。在像iPhone 5这样的小屏幕设备中,我将文本视为" ABCD ..."。我想要以下内容:
if(complete text can be shown)
{
// show UILabel with text
} else // if text can not fit in, "ABCD..." case
{
// hide the UILabel
}
我该怎么做?
答案 0 :(得分:1)
调用sizeToFit
上的UILabel
函数。如果它的大小比最大值长,则隐藏它......
答案 1 :(得分:0)
正如我在评论中提到的那样使用adjustsFontSizeToFitWidth = YES
,但它似乎不适合你的场景。我建议您检查屏幕尺寸并根据该设置UILabel
。
CGSize deviceScreenSize = [[UIScreen mainScreen] bounds].size;
if(deviceScreenSize.height == 480){ //iPhone 4,4s Screen Size
// Write your code for UILabel Here.
}
if(deviceScreenSize.height == 568){ //iPhone 5,5s Screen Size
// Write your code for UILabel Here.
}
if(deviceScreenSize.height == 667){ //iPhone 6 Screen Size
// Write your code for UILabel Here.
}
if(deviceScreenSize.height == 736){ //iPhone 6s Screen Size
// Write your code for UILabel Here.
}
可能有更好的方法可以这样做。但我只知道这个。
答案 2 :(得分:0)
你可以像这样获得Screen的大小:
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
然后输入一个这样的if语句:
if (label.frame.size.width>screenSize.width) {
//Use smaller label }
else {
//use bigger label }