2016-08-22 75 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