2014-01-21 1 views
2

UINavigationViewController 대신 UITabBarController을 사용하도록 앱을 변경하고 있습니다. 그에 따라 컨트롤러를 교체하고 앱을 탭으로 성공적으로 시작했습니다. 나중에 코드에서 나는 선이 좋아 segues를 사용하여 어려움을 가로 질러왔다가장자리가있는 UINavigationViewController를 UITabBarController로 바꿈

[self performSegueWithIdentifier:@"ImageViewController" sender:self]; 

오류를 생산 작동하지 않습니다

소스 컨트롤러가 UINavigationController가의 인스턴스에 의해 관리 될 때

는 "푸시 segues 만 사용할 수 있습니다 "

FirstViewControllerUINavigationController을 삽입하면 위의 라인이 정상적으로 작동합니다. 보기간에 전환하고 다른보기 컨트롤러에 일부 데이터를 전달하려면 해당 줄이 필요합니다.

문제는 (내가 그렇게 다시 UINavigationController에서 SecondViewController을 감싸고 제외) SecondViewController로 이동 SEGUE 식별자를 사용하여 TabBar의 탐색을 숨기는 것입니다. 그것은 해결책이 아닙니다.

질문 : UITabBarController을 사용하는 방법 및 탭 탐색을 볼 수있는 채로 여전히 채우기를 활용할 수 있습니까?

enter image description here

답변

2

"소스 컨트롤러가 UINavigationController가의 인스턴스에 의해 관리 될 때 segues 만 사용할 수 있습니다 밀어"나에게 소리 제어 장치.탐색 컨트롤러 내부을 하지 않은 인터페이스 빌더에있는 모든 "SEGUE 거품"을 선택하십시오 :

Segue Bubble

을하고 오른쪽 창에서 SEGUE의 스타일을 확인하십시오

Segue Settings

하는 경우 스타일은 위의 그림과 같이 push 값으로 설정되어 modal 또는 custom :

으로 변경됩니다.

Change style to Modal

+0

당신 말이 맞습니다. 이것은 실제로 UITabBarController에서 segues를 사용하여 내 문제를 해결합니다. – Vad

1

당신의 연결에 문제가 있습니다. 인터페이스 빌더 (스토리 보드)를 사용하는 경우 연결은 다음과 같아야합니다. 그림보기

UINavigation Title 헤더가 누락되었습니다. 또한 각보기 컨트롤러 아래의 회색 영역은 공간이 UITabBarController의 이미지 용으로 예약되었음을 의미합니다.

UIToolBar에 또 다른 문제가 있습니다. UITabBar가 표시 될 위치에 앉아있는 것처럼 보입니다. 애플이 이미 UINavigationController와 UITabBarController를 가지고 있기 때문에 애플이 앱을 거부 할 수도 있습니다. 해당 페이지에서 더 많은 버튼/옵션이 필요한 경우 대신 UIButtons를 만듭니다. 당신은 탐색 외부 어딘가에 push SEGUE를 사용하는 것처럼

enter image description here

관련 문제