2016-12-21 1 views
1

탭 막대 컨트롤러를 사용하여 몇 가지 탭이있는 앱을 만들고 있습니다. 첫 번째 탭에서 가방에 항목을 추가하고 다음 viewcontroller에서 장바구니를 업데이트합니다. 사용자가 아무 것도 추가하지 않고 두 번째 탭 (장바구니)으로 이동하면 장바구니가 비어 있다고 표시하는보기 컨트롤러를 표시하고 싶습니다. 그들이 뭔가를 추가하면 이동하면 테이블보기가 표시됩니다.단일 탭 표시 줄 항목은 조건에 따라 다른보기 컨트롤러를 제공합니까?

조건에 따라 다른보기 컨트롤러를 표시하도록 탭 표시 줄 컨트롤러에 알리는 방법이 있습니까?

답변

1

가장 간단한 옵션은보기에 장바구니 항목이있는 테이블보기 (A)와 '장바구니가 비어 있음'메시지가있는 다른보기 (B)의 두 가지 하위보기가있는 하나의 CartViewController을 사용하는 것입니다.

viewWillAppear 기능을 무시하고 장바구니에 따라보기 A를 표시하고보기 B를 숨기거나 그 반대의 경우도 마찬가지입니다.

viewControllers 속성을 통해 UITabBarController의 하위보기 컨트롤러를 수정할 수 있습니다. 그러나 장바구니의 변화에 ​​반응하여이를 수행하는 것은 복잡하지 않으며 문제가되지 않습니다. IMHO.

+0

내가 그 일을 끝냈어 고마워. 그게 가장 간단한 해결책이라고 생각해. – jnwagstaff

-1

동일한 UITableViewController을 실제로 표시 할 수 있습니다. UITableViewController에 데이터가 있는지 여부를 알고 있어야합니다. UITableViewController에 대한 데이터가있는 경우 장바구니에 항목을 UITableViewController으로 표시하고 다른 경우에는 UITableViewController에 빈 메시지를 포함 할 수 있습니다. 이 게시물을 참조하여 'UITableViewController?'에 빈 메시지를 표시 할 수 있습니까?

If no Table View results, display "No Results" on screen.

관련 문제