Mi a különbség a 'left' és a 'leading' között az iOS fejlesztés kontextusában?
sobes.tech MI
Válasz az MI-től
Az iOS Auto Layout-ban a left és a leading különböző horgok (anchors), amelyek különböző szemantikai jelentéssel bírnak.
-
A
lefta képernyő fix bal oldalát jelöli, amely mindig a fizikai bal oldallal egyezik meg. Függetlenül az interfész nyelvétől, aleftmindig balra mutat. -
A
leadinga "vezető" oldalt jelöli, amely a szöveg irányától (az interfész irányától) függ. Balról jobbra (LTR) nyelvek esetén, mint az angol, aleadingmegegyezik aleft-tel. Jobbról balra (RTL) nyelvek esetén, mint az arab vagy héber, aleadinga jobb oldalt jelöli.
A leading és trailing használata előnyösebb a lokalizáció támogatásához és az interfész különböző nyelvekhez és szövegirányokhoz való igazításához. Ha a left és right-t használod, az interfész nem fog automatikusan alkalmazkodni az RTL-hez.
Példa:
// Korlátozás a szülő nézet fő horgához (figyelembe veszi a szöveg irányát)
view.leadingAnchor.constraint(equalTo: superview.leadingAnchor).isActive = true
// Korlátozás a szülő nézet bal oldalához (fix pozíció balra)
view.leftAnchor.constraint(equalTo: superview.leftAnchor).isActive = true
Ha azt szeretnéd, hogy az interfész helyesen működjön RTL és LTR esetén is, akkor jobb a leading és trailing használata. Ha fix pozícióra van szükség nyelvtől függetlenül, akkor használd a left és right-t.