2013-07-08 9 views
5

Dla kilku bardziej skomplikowanych scen w moim scenorysie, próbuję ustawiać ograniczenia ręcznie edytując XML storyboardu, zamiast używać Xcode, ponieważ utrzymywanie wszystkiego w spójnym stanie podczas edytowania może czasami być trochę bardziej skomplikowane, niż tylko zrzucenie wszystkich ograniczeń wymiaru i stworzenie własnego od zera.Co oznacza symboliczny = "TAK" w XML InterfaceBuilder?

Większość znaczników i atrybutów w wygenerowanym pliku XML ma oczywiste znaczenie. Jednak nie mogę dowiedzieć się, jakie znaczenie atrybutu symbolic ma ograniczeń jak ten (generowanego przez Xcode):

<constraint firstItem="Sui-f6-rQa" firstAttribute="top" secondItem="1XK-fd-O82" 
secondAttribute="bottom" constant="8" symbolic="YES" type="default" 
id="PVi-ci-8HN"/> 

Słowo „symboliczny” nie pojawia się nigdzie w NSLayoutConstraint documentation, a ja Nigdy nie widziałem tego w Xcode, więc nie mogę naprawdę zgadnąć, co to znaczy.

Co robi i czy muszę być tego świadomy podczas bezpośredniego modyfikowania pliku storyboard (lub Xib) XML?

+0

Interesujące. Nie mogę znaleźć tego w XCode 5 xibs. Może to być "element zastępczy" lub ograniczenie generowane przez IB. – Sulthan

+0

@Sulthan Widziałem to tylko w scenorysach XCode 4. Może i nie istnieje w XCode 4 xibs - nigdy ich nie użyłem. To może być tylko scenopis. –

+0

Nie jest to odpowiedź, ale potencjalnie trafna informacja dla ludzi, którzy lądują na tym pytaniu: Udało mi się tworzyć, usuwać i modyfikować ograniczenia w moim XML bez żadnego uwzględnienia atrybutu "symbolicznego" i nic nie zepsuło się ani nie zachowywało dziwnie. –

Odpowiedz

4

symbolic="YES" odpowiada wyboru w InterfaceBuilder „standard”

enter image description here

nie grałem wokół ze zmianą wartości constant od 8 lub 20 pozostawiając symbolic="YES" ale podejrzewam, że prowadziłoby to do niegodziwość.

+0

Tak, właśnie przetestowane i to wydaje się być poprawne. Dziwne; Nie widzę żadnego powodu, by można go było nazwać "symbolicznym". –