2016-08-22 82 views
0

升级到xcode 7.3.1后,我的代码触发了臭名昭着的“首选最大布局宽度”错误消息。我没有设法为早期的iOS版本修复它,所以我最终将“构建版本”更改为“iOS 8.0及更高版本”,并且错误消息消失了。它现在在iPad上构建并运行良好,但是我的UILables仍然在iPhone模拟上截断。如何防止在xcode 7.3.1升级后截断UILabel

标签设置为“autoshrink:固定字体大小”。当我选择“autoshrink:最小字体大小”时,字体变得太小,因为视图字段高度不会自动扩展。我给了文字10行,但它只显示2行,然后截断(它被设置为“截尾”)。如何才能看到iPhone上显示的全文?

+0

您能告诉我们您是否使用自动布局或自动调整? 也提供详情..谢谢 –

+0

@Er。 Khatri:我标记了“使用自动布局”和“使用大小类别”。你是这个意思吗?对不起,我刚刚开发了一个应用程序,但我还没有真正知道这个术语。请让我知道,如果你需要更多的信息.​​.. – mojomo

回答

1

标签尺寸不手动递增,要么放弃约束将其与顶部,开头和结尾,然后将相应增加标签的高度也可以手动通过计算使用

您的字符串大小递增标签的高度
CGSize preferedSize = CGSizeMake(maxWidthYouWant i.e. 320, MAX_FLOAT) 
CGSize labelSize = [yourTextString 
        boundingRectWithSize:preferedSize 
        options:NSStringDrawingUsesLineFragmentOrigin 
        attributes:@{ 
        NSFontAttributeName : [UIFont systemFontOfSize:14] 
        } 
        context:nil].size; 

现在您可以使用labelSize.height更新标签的高度。

+0

约束是为所有四方设置的,但由于它不工作,我应该尝试你的代码。奇怪的是,应用程序曾经在7.3.1更新之前完美工作。 – mojomo