StoryBoard에서 탭 막대 컨트롤러 순서 재정렬


166

내 앱 iPhone 앱에는 4 개의 다른 테이블 뷰 컨트롤러와 4 개의 관계가있는 탭 막대 컨트롤러가 있습니다. StoryBoard에서 관계 순서를 그래픽으로 재정렬하는 방법이 있습니까? 나는 이것을 할 수있는 방법을 찾을 수 없으며 뭔가 빠진 것이 틀림 없다!


답변:


255

4.5에서 컨트롤러를 추가 한 후 스토리 보드를 저장하고 다른 파일로 전환 한 다음 스토리 보드로 다시 전환하면 탭 드래그가 다시 작동합니다.


45
탭 드래그! 좋아, 심지어 탭을 드래그 할 수 있는지도 몰랐다. 탭을 선택할 수 없기 때문에 매우 직관적이지 않습니다 ...
Pierre de LESPINAY 2016 년

1
탭 전환 / 닫기 주문을 사용하여 Xcode UI를 찌르는 데 지치면 JannieT의 답변을 참조하십시오. 빠르고 쉽습니다.
Sixto Saez

직관적이지 않지만 Xcode 7에서도
효과적이었습니다

드래그 할 항목이 보이지 않으면 아직 아이콘을 설정하지 않았기 때문일 수 있습니다. 아이콘을 설정할 때까지 표시되지 않는 것으로 나타났습니다!
Brian

1
nice :) 심지어 드래그 할 수 있다는 것을 몰랐습니다
Amr Angry

133

탭 바 컨트롤러에서 아이콘을 드래그 앤 드롭하여 순서를 다시 정렬 할 수 있습니다.


4
사용자 정의 탭을 사용하는 경우 Tab Bar Controller장면에 회색 막대가 표시 되어도 막대 항목이 여전히 있어도 드래그 앤 드롭하여 순서를 바꿀 수 있습니다. 모든 바 항목이 사용자 정의 항목 인 경우 특히 눈에 띄지 않습니다.
Gerald

가장 간단하고 편리한 방법입니다. Xcode 7.3.1에서 작동합니다. 스위프트 2.2
마크 바라 소

아이콘은 보이지 않지만 Xcode 9에서 작동합니다.
Cesare

17

Shift + DRAG 는 Xcode 10.0에서 작동합니다


1
저것과 같이 쉬운.
bikram

15

XCode 4.6 (언급 된 조합과 함께)으로 드래그 앤 드롭 할 수 없었습니다. " 소스 코드 "모드 에서 스토리 보드를 열고 tabBarController를 찾은 후 seque 태그를 재정렬하는 문제를 해결했습니다 .


분할보기 컨트롤러에 탭 막대 컨트롤러가 중첩되어 결과적으로 스토리 보드에 탭 막대 컨트롤러의 탭이 표시되지 않습니다. 스토리 보드 소스 코드를 편집하면 나에게 도움이되었습니다. 감사!
Scott Gardner

14

OP가 Xcode 인터페이스 빌더를 사용하고 있으며이를 수행하기위한 그래픽 방법을 요구하고 있음을 알고 있지만 Xamarin iOS Designer를 사용하는 개발자에게는 여기에 사용 가능한 해결 방법이 있습니다.

텍스트 편집기에서 또는 Xcode를 사용하여 .storyboard 파일을 열고 Project Navigator에서 스토리 보드 항목을 마우스 오른쪽 단추로 클릭하고 소스 코드로 열기를 선택하십시오 . 스토리 보드 XML에서 <tabBarController ...>노드를 찾으십시오 . 그런 다음 <connections>섹션 에서 segue의 순서를 다시 정렬합니다 .

<connections>
    <segue destination="274" kind="relationship" relationship="viewControllers" id="286"/>
    <segue id="943" destination="910" kind="relationship" relationship="viewControllers"/>
    <segue destination="147" kind="relationship" relationship="viewControllers" id="159"/>
</connections>

destination=segue 요소가 가리키는 뷰 컨트롤러를 판별하려면 XML에서 속성 값을 검색하십시오 .


1
훌륭한 솔루션. 나는 거대한 StoryBoard를 가지고 있었고, segues를 제거하고 재생성하는 데 시간이 걸렸을 것입니다
YYamil

10

탭 표시 줄에 탭 아이콘을 끌어다 놓기 만하면됩니다.

즉, 탭 막대 컨트롤러에 속하는 기본 탭 막대입니다.

HTH

:: 편집 ::이 작동하지 않는 것 같습니다 ... 나는 그것을 사용 확신합니다.

어쨌든, 내가 찾은 가장 쉬운 방법은 탭을 제거하고 표시하려는 순서대로 다시 추가하는 것입니다.

도움이 되었기를 바랍니다.


LOL, 방금 테스트를했는데 잘못되었습니다. 죄송합니다. 그래도 전에이 작업을 수행했습니다. 1 초 ...
Fogmeister

그래도 확실하지 않지만 드래그 앤 드롭이 작동했음을 기억합니다! 어쩌면 그들은 Xcode에서 무언가를 바꿨을 것입니다.
BigLex

난 그냥 그것을 시도, 그것은 엑스 코드 4.5 드래그로 탭을 벌금을 일
rdelmar

@rdelmar 탭 바 응용 프로그램으로 프로젝트를 시작 했습니까? 아니면 단일보기 응용 프로그램에 탭 바보기 컨트롤러를 추가 했습니까?
BigLex

5
드래그 앤 드롭은 작동하지만 탭을 드래그 앤 드롭하기 전에 스토리 보드에서 아무것도하지 않으면 완고합니다. 이 문제를 해결하려면 Xcode에서 다른 파일을 선택한 다음 스토리 보드로 돌아갑니다. 드래그 앤 드롭이 다시 작동합니다. Xcode를 닫거나 컨트롤러를 다시 추가 할 필요가 없습니다.
memmons

9

주석에서 언급했듯이 탐색 컨트롤러를 추가 한 후 드래그 앤 드롭이 현재 작동하지 않습니다 (Xcode 4.5). 그러나 컨트롤러를 추가 한 후 Xcode다시 시작 하면 드래그 앤 드롭이 다시 작동하는 것 같습니다.


8

XCODE 10.1 : 스토리 보드를 확대 / 축소합니다. 탭 항목을 드래그하기 만하면됩니다. (교대 없음)


2
당신은 이것을 어떻게 시도했다고 생각 했습니까? 😃 훌륭합니다! 👏
GarySabo

7

스토리 보드를 '소스 코드보기'로 연 다음 IB보기로 열면 버그를 수정하는 것 같습니다.


이것은 나를 위해 일했습니다 (Xcode 8.1), 소스 코드보기에서 스토리 보드를 연 후 드래그하여 다시 정렬 할 수있었습니다.
Undrea

7

모든 사람이 제공하는 끌어서 놓기 방법을 추가합니다. 이미지를 포함 할 수 있도록 이것을 답변으로 게시했습니다. Xcode 7.3에서 시도

custom을 사용하는 경우 장면에 회색 막대가 표시 되어도 막대 항목이 여전히 tab bar item있어도 드래그 앤 드롭하여 순서를 바꿀 수 Tab Bar Controller있습니다. 모든 바 항목이 맞춤 항목 일 때 특히 눈에 띄지 않습니다.

여기에 이미지 설명을 입력하십시오 기술


4

iOS 7.1 개발에 XCode 5.1을 사용하고 있으며 Tab Bar Controller에서 탭을 재정렬하는 데 다음과 같은 접근 방식이 효과적이라는 것을 알았습니다.

Tab Bar Controller에서 탭을 재 배열하려면 Tab Bar Controller에서 하위보기 컨트롤러로 segue를 삭제하십시오. 그런 다음 원하는 순서대로 segue를 다시 그립니다. "다시 그리기"는 탭 막대 컨트롤러에서 하위보기 컨트롤러로의 드래그를 제어하고 Relationship Segue (목록 하단) =>보기 컨트롤러를 선택 함을 의미합니다.


3
진실. 이를 수행하는 또 다른 방법은 .storyboard를 "소스 코드"로 편집하고, segue (<segue> 태그 임)를 찾은 다음 순서를 다시 정렬하는 것입니다.
voghDev

3

메인 스토리 보드의 Tab Controller Dock 옵션이 "First Responder"로 설정되어 있는지 확인하십시오.


나는 지금 어떤 프로젝트를 시작하든 (새로운 것이 든 오래된 것이 건)이 문제를 겪고 있기 때문에 이러한 아이디어 중 몇 가지를 시도해 왔습니다. KayKay가 "탭 컨트롤러 도크 옵션"으로 무엇을 의미하는지 알 수 없습니다. 아무도 아이디어가 있습니까?
월계수

3

Navigation Controller를 추가 한 후에도 같은 문제가 발생했습니다.

수정 : 스토리 보드를 닫고 (Ctrl + Cmd + W) 클린 빌드 폴더 (Option + Cmd + Shift + K)와 정기적 인 클린 (Cmd + Shift + K)을 수행하십시오. 스토리 보드를 다시 열면 항목을 다시 드래그 할 수 있습니다.


1

xCode 4.6에도 같은 내용이 있습니다. 원래 iOS 에서 스토리 보드시작하는 방법 에 대한 자습서를 따랐습니다. TabBarController의 항목을 사용하는 시점에서 순서를 변경할 수 없었습니다. 나는 그것을 저장하려고 노력했다-작동하지 않았다; 그러나 XCode를 닫았다가 다시 열면 작동했습니다.


1

스토리 보드의 TabBarController에서 항목을 제어 + 드래그하고 원하는 위치로 재 배열하십시오.


나는 그것이 옵션 + 드래그라고 생각합니다
GGirotto

0

스토리 보드에 대한 raywenderlich 튜토리얼을 따르고 탭 컨트롤러를 추가 한 후 탭을 드래그하여 재정렬 할 수 없다는 것을 깨달았습니다. 음, 분명히 xcode의 버그 일뿐입니다. xcode를 종료하고 다시 시작하면 이번에는 탭을 드래그 할 수 있습니다.


0

나를 위해 XCode 7.3.1에서 드래그가 작동하지 않았습니다. XCode를 다시 시작해도 도움이되지 않았습니다. 그리고 위에서 언급 한 해결책 중 어느 것도 나를 위해 일하지 않았습니다.

도움이되는 내용 : 두 번째 항목과의 관계를 삭제하고 해당 항목에서 Tab Bar Controller로 ctrl-dragged하고 다른 관계를 만들었습니다. 지금은 자동으로 2 위였습니다.


0

tabbar로 모든 뷰 컨트롤러 sequge를 제거하십시오. 먼저 먼저 viewcontroller가 필요하다가 다른 viewcontroller가 tabbar에 연결되어 있어야합니다.

xcode를 다시 시작할 필요가 없으며 변경중인 명확한 소스 코드 파일이 필요하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.