显示UILabel的完整文本或隐藏它

时间:2015-07-01 17:44:59

标签: ios uilabel

我有一个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
}

我该怎么做?

3 个答案:

答案 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 }