2013-02-06 12 views
5

in iOS 6 c'è una nuova "funzione" che rispecchia gli elementi dell'interfaccia utente nel file xib se l'utente è nelle impostazioni internazionali da destra a sinistra (ebraico, arabo). (http://developer.apple.com/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html)iOS: disabilita il mirroring dell'interfaccia utente in XIB

Interferisce completamente la mia interfaccia.

C'è un modo per disabilitarlo senza disabilitare il layout automatico?

risposta

10

I vincoli orizzontali hanno l'opzione "Direzione" in Interface Builder. Di default è impostato su "Leading to Trailing" che provoca il mirroring. Puoi impostarlo su "Left to Right" per disabilitare il mirroring.

Nota: la modifica di tutti i vincoli mediante la modifica di storyboard/file xib causa eccezioni o layout incasinato, sembra che Interface Builder crei/modifichi alcuni vincoli aggiuntivi quando si modifica l'impostazione della direzione.

Quindi il modo più veloce in cui ho trovato di modificare lo xib/storyboard esistente, è selezionare tutti i vincoli con il set "Leading to Trailing", cambiarli tutti insieme in "Left to Right" e quindi controllare se qualche nuovo orizzontale i vincoli sono stati creati automaticamente - la loro direzione dovrebbe essere cambiata in "Left to Right".

+0

Grazie! sei un risparmiatore di vita – marmor

+0

+ Up voto per mostrarmi la giusta direzione. E puoi per favore spiegare un po 'di più. dove posso ottenere la proprietà "Direction" in XIB. puoi allegato breve schermo se possibile. – Ayaz

11

seguita dalla soluzione del @silyevsk - qui è un metodo rapido funzionato per me a fisso il mirroring UI: Aprire il file XI ter in editor di testo (Xcode/TextEdit/atom etc.) Utilizzando lo strumento sostituzione, sostituire la seguente:

firstAttribute = "finali" con: firstAttribute = "destra"

secondAttribute = "finali" con: secondAttribute = "destra"

firstAttribute = "leader" con: firstAttribute = "left"

secondAttribute = "leader" con: secondAttribute = "left"

funzionato per me e salvato molte ore alle prese con IB .

+1

Sì, funziona davvero ed è molto più veloce della risposta accettata. – FormigaNinja

+0

Che ha funzionato per me, ho usato Sublime Text per sostituire tutte le occorrenze nella cartella xib usando la guida sopra :) – MindTrip

+0

So che questo è un vecchio post, ma solo un avvertimento amichevole. Ho provato a utilizzare questa soluzione e si è verificato un arresto anomalo di xcode durante il tentativo di aprire il mio progetto. Dovevo tornare. – Kevin

1

Non so perché questa risposta è stata cancellata, funziona perfettamente!

enter image description here

Problemi correlati