Aggiornamento 3:
questo avviso può anche essere attivato da etichette numberOfLines
impostate su un valore diverso da 1 se la destinazione di distribuzione è impostata su 7.1. Questo è completamente riproducibile con il nuovo progetto a vista singola.
I passaggi per riprodurre:
- Crea un nuovo progetto a vista singola, obiettivo-c
- Impostare Target di distribuzione su 7.1
- Apri lo storyboard del progetto
- Rilascia un'etichetta sul controller di visualizzazione fornito
- Impostare il numeroOfLines per quell'etichetta su 2.
- Compilare
Ho presentato il seguente radar:
rdar: // problem / 18700567
Aggiornamento 2:
Sfortunatamente, questo è ancora una volta nella versione di rilascio di Xcode 6. Nota che puoi, per la maggior parte, modificare manualmente lo storyboard / xib per risolvere il problema. Per Charles A. nei commenti qui sotto:
Vale la pena ricordare che è possibile introdurre facilmente questo avviso per errore e l'avviso stesso non aiuta a trovare l'etichetta che è il colpevole. Questo è sfortunato in uno storyboard complesso. È possibile aprire lo storyboard come file di origine e cercare con la regex <label(?!.*preferredMaxLayoutWidth)
per trovare etichette che omettono un attributo / valore preferitoMaxLayoutWidth. Se aggiungi preferitoMaxLayoutWidth = "0" su tali righe, equivale a contrassegnare esplicito e impostare il valore 0.
Aggiornamento 1:
questo bug è stato risolto in Xcode 6 GM.
Risposta originale
Questo è un bug in Xcode6-Beta6 e XCode6-Beta7 e per ora può essere tranquillamente ignorato.
Un ingegnere Apple nei forum degli sviluppatori Apple ha detto questo a proposito del bug:
La larghezza massima preferita del layout è una proprietà di layout automatico su UILabel che gli consente di crescere automaticamente in verticale per adattarsi al suo contenuto. Le versioni di Xcode precedenti alla 6.0 imposteranno la preferenzaMaxLayoutWidth per le etichette multilinea sulle dimensioni dei limiti correnti in fase di progettazione. In caso di modifica del layout orizzontale, sarà necessario aggiornare manualmente favoriteMaxLayoutWidth in fase di esecuzione.
iOS 8 ha aggiunto il supporto per il calcolo automatico preferitoMaxLayoutWidth in fase di esecuzione, il che rende ancora più semplice la creazione di etichette multilinea. Questa impostazione non è retrocompatibile con iOS 7. Per supportare sia iOS 7 che iOS 8, Xcode 6 ti consente di scegliere "Automatico" o "Esplicito" come preferitoMaxLayoutWidth nella finestra di ispezione delle dimensioni. Dovresti:
Scegli "Automatico" se scegli come target iOS 8 la migliore esperienza. Selezionare "Esplicito" se si sceglie come target <iOS 8. È quindi possibile inserire il valore di favoriteMaxLayoutWidth che si desidera impostare. L'abilitazione dei valori predefiniti "espliciti" alle dimensioni dei limiti correnti nel momento in cui è stata selezionata la casella.
Verrà visualizzato un avviso se (1) stai utilizzando il layout automatico, (2) "Automatico" è impostato per un'etichetta multilinea [puoi verificarlo nella finestra di ispezione delle dimensioni per l'etichetta] e (3) il tuo target di distribuzione <iOS 8.
Sembra che il bug sia che questo avviso viene visualizzato per i documenti di non completamento automatico. Se viene visualizzato questo avviso e non si utilizza il layout automatico, è possibile ignorare l'avviso.
In alternativa, puoi aggirare il problema utilizzando la finestra di ispezione dei file nello storyboard o xib in questione e modificare "Build per" in "Build per iOS 8.0 e versioni successive"