W mojej aplikacji na iPhone'a mam kontroler paska zakładek z 4 powiązaniami z 4 różnymi kontrolerami widoku tabeli. Czy istnieje sposób, aby graficznie zmienić kolejność relacji w StoryBoard? Nie mogę znaleźć sposobu, aby to zrobić i jestem pewien, że coś mi brakuje!
166
Odpowiedzi:
W 4.5 zapisz scenorys po dodaniu kontrolera, przełącz się do innego pliku, a następnie wróć do serii ujęć, a przeciąganie kart powinno znowu działać.
źródło
Możesz po prostu zmienić kolejność, przeciągając i upuszczając ikony w kontrolerze paska kart
źródło
Tab Bar Controller
scena pokazuje szary pasek, element paska nadal tam jest. Jest to szczególnie niepozorne, gdy wszystkie elementy paska są elementami niestandardowymi.SHIFT + DRAG działa na Xcode 10.0
źródło
Nie byłem w stanie przeciągnąć i upuścić z XCode 4.6 (z żadną z wymienionych kobinacji). Rozwiązałem to, otwierając storybord w trybie " Source Code ", lokalizując tabBarController i przestawiając tag seque .
źródło
Wiem, że OP używa konstruktora interfejsu Xcode i prosi o graficzny sposób, aby to zrobić, ale dla programistów pracujących z Xamarin iOS Designer, oto obejście, którego używam.
Otwórz plik .storyboard w edytorze tekstu lub za pomocą Xcode, kliknij prawym przyciskiem myszy element scenorysu w Nawigatorze projektu i wybierz Otwórz jako kod źródłowy. W pliku XML scenorysu zlokalizuj
<tabBarController ...>
węzeł. Następnie przestawiam kolejność segue w<connections>
sekcji:Wyszukaj
destination=
wartość atrybutu w kodzie XML, aby określić, na który kontroler widoku wskazuje element segue.źródło
Po prostu przeciągnij i upuść ikony kart na pasku kart.
czyli główny pasek zakładek, który należy do kontrolera paska zakładek.
HTH
:: EDYCJA :: Więc to nie działa ... Jestem pewien, że kiedyś.
W każdym razie najłatwiejszym sposobem, jaki znalazłem, jest usunięcie zakładek i dodanie ich z powrotem w kolejności, w jakiej mają się wyświetlać.
Mam nadzieję że to pomoże.
źródło
Jak zauważono w komentarzach, przeciąganie i upuszczanie obecnie nie działa (Xcode 4.5) po dodaniu kontrolera nawigacji. Jednak ponowne uruchomienie Xcode po dodaniu kontrolera wydaje się ponownie działać metodą przeciągnij i upuść.
źródło
XCODE 10.1: Powiększ planszę scenariuszy. Po prostu przeciągnij elementy zakładek. (Bez zmiany, żadna inna)
źródło
Jeśli otworzysz scenorys jako „widok kodu źródłowego”, a następnie zamkniesz go i otwórz go jako widok IB, wydaje się, że naprawia błąd.
źródło
Aby dodać do metody przeciągnij i upuść zapewnianej przez wszystkich. Opublikowałem to jako odpowiedź, abym mógł dołączyć obrazy. Wypróbowano na Xcode 7.3
Jeśli używasz niestandardowego
tab bar item
, nadal możesz przeciągać i upuszczać, aby zmienić kolejność, nawet jeśliTab Bar Controller
scena pokazuje szary pasek, element paska nadal tam jest. Jest to szczególnie niepozorne, gdy wszystkie elementy paska są elementami niestandardowymiźródło
Używam XCode 5.1 do tworzenia iOS 7.1 i stwierdziłem, że następujące podejście działa w przypadku zmiany układu kart w kontrolerze paska kart.
Aby zmienić rozmieszczenie zakładek w kontrolerze paska zakładek, usuń segmenty z kontrolera paska zakładek do kontrolerów widoku podrzędnego. Następnie ponownie narysuj spływy w kolejności, w jakiej mają być zakładki. Aby „ponownie narysować” mam na myśli kontrolowanie przeciągania z kontrolera paska zakładek do kontrolera widoku podrzędnego i wybieranie opcji Relacja Segue (na dole listy) => wyświetl kontrolery.
źródło
Możesz upewnić się, że opcja Tab Controller Dock w głównym scenorysie jest ustawiona na „First Responder”, to rozwiązało to za mnie!
źródło
Miałem ten sam problem po dodaniu kontrolera nawigacji.
Poprawka: zamknij scenorys (Ctrl + Cmd + W) i wykonaj czysty folder kompilacji (Option + Cmd + Shift + K) i zwykłe czyszczenie (Cmd + Shift + K). Otwórz ponownie scenorys, a będziesz mógł ponownie przeciągać elementy.
źródło
To samo dotyczy xCode 4.6. Początkowo korzystałem z samouczka na temat tworzenia scenorysów w ios. W momencie przełączania elementu na TabBarController nie mogłem zmienić kolejności. Próbowałem to uratować - nie działało; jednak, gdy zamknąłem XCode i otworzyłem ponownie - DZIAŁAŁO.
źródło
Control + przeciągnij element w TabBarController w scenorysie i zmień kolejność w żądane położenie.
źródło
Śledziłem również samouczek raywenderlich dotyczący scenorysów i zdałem sobie sprawę, że po dodaniu kontrolera kart nie mogę zmienić kolejności zakładek, przeciągając go. Cóż, najwyraźniej to tylko błąd w xcode. Po prostu zamknij xcode, uruchom go ponownie i tym razem będziesz mógł przeciągać karty.
źródło
Dla mnie przeciąganie nie działało również w XCode 7.3.1. Ponowne uruchomienie XCode nie pomogło. I żadne z powyższych rozwiązań dla mnie nie zadziałało.
Co mi pomogło: usunąłem relację z drugim elementem i przeciągnąłem go z klawiszem Ctrl do kontrolera paska kart i utworzyłem kolejną relację. Teraz automatycznie znajdował się na drugim miejscu.
źródło
Usuń sekwencję wszystkich kontrolerów widoku za pomocą paska zakładek. Najpierw musisz połączyć kontroler widoku, a następnie inny kontroler widoku połączyć się z paskiem tabulacji.
Nie wymaga ponownego uruchomienia xcode i zmiany pliku z czystym kodem źródłowym.
źródło