2016-12-21 2 views
1

Я делаю приложение, которое имеет несколько разных вкладок, используя контроллер панели вкладок. Я добавляю предметы в сумку на первой вкладке и обновляю корзину в следующем диспетчере представлений. Если пользователь переходит на вторую вкладку (корзину), не добавляя ничего, я хочу, чтобы она представила контроллер вида, говорящий, что тележка пуста. Если они перейдут к нему, как только они что-то добавят, он покажет представление таблицы.Элемент с одной вкладкой отображает различные режимы просмотра в зависимости от состояния?

Есть ли способ сообщить контроллеру панели вкладок представить различные контроллеры в зависимости от состояния?

ответ

1

Простейший вариант - использовать один CartViewController, чей вид имеет два подглядывания, табличный вид (A) с элементами корзины и другой вид (B) с сообщением «корзина пуста».

Переопределите его функцию viewWillAppear, и в зависимости от тележки покажите вид A и скройте вид B или наоборот.

может изменить контроллеры детского видения UITabBarController, через имущество viewControllers. Однако делать это, реагируя на изменения в тележке, сложно, не стоит того, ИМХО.

+0

Спасибо, что я закончил делать, я думаю, что это самое простое решение. – jnwagstaff

-1

Фактически вы можете представить то же самое UITableViewController. В этом UITableViewController вы должны знать, есть ли у вас данные или нет. Если у вас есть данные для UITableViewController, то вы покажете товары в корзине в UITableViewController, иначе у вас может быть пустое сообщение в том же UITableViewController. Вы можете сослаться на это сообщение, чтобы показать пустое сообщение в `UITableViewController?

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