Какао - NSTabViewController, как изменить вкладку при нажатии кнопки?

Я провел последние несколько дней, пытаясь решить эту проблему. По сути, когда пользователь нажимает кнопку на моей первой вкладке, я хочу, чтобы вкладка перешла на следующую вкладку.

Вот как выглядит моя раскадровка. В частности, когда пользователь нажимает Youtube на моей вкладке «Домашняя страница», я хочу, чтобы FirstWebController открывался.

Каждый метод, который я нашел в Интернете, не работал, поэтому я надеялся, что кто-нибудь сможет дать некоторое представление о следующем шаге, который мне следует предпринять.

Заранее спасибо.


person JonnyRoberts95    schedule 12.04.2016    source источник


Ответы (2)


Установите NSTabViewController в selectedTabViewItemIndex на индекс элемента вкладки, который вы хотите выбрать, и он изменится. Вам нужно отслеживать позиции элементов представления вкладок, чтобы вы знали, какой индекс какой, но это действительно то, о чем вам нужно беспокоиться, если ваши элементы представления вкладок являются динамическими.

person Aaron    schedule 12.04.2016
comment
Спасибо за комментарий, но после этого мой индекс всегда равен -1. Глядя на мою раскадровку, я не уверен, правильно ли она настроена. imgur.com/ivLISp3, так ли это должно быть настроено? - person JonnyRoberts95; 12.04.2016
comment
Есть ли шанс, что вы могли бы поделиться проектом? Рад бросить беглый взгляд и убедиться, что все подключено правильно. - person Aaron; 13.04.2016
comment
Да, было бы здорово, если бы вы могли. У меня такое чувство, что проблема проста, но я не могу пройти мимо нее. dropbox.com/sh/9gnq1w64xg3l9u0/AACumttvsV40Vgdj0UIu3W2Va?dl=0 - person JonnyRoberts95; 13.04.2016
comment
Хорошо, я смог получить такое поведение, добавив следующий код в favLabel1: NSTabViewController *tabVC = (NSTabViewController*)[self parentViewController]; tabVC.selectedTabViewItemIndex = 1; После этого щелчок по YouTube изменяет вкладку на вторую вкладку в NSTabViewController. - person Aaron; 14.04.2016
comment
Вау, спасибо, это именно то, что мне было нужно. Спасибо за всю помощь, вы спасли меня от многих головных уборов. - person JonnyRoberts95; 14.04.2016

Ты можешь использовать

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

Метод делегата для отслеживания, когда элемент вкладки нажат, и может установить там индекс.

person Muhammad Awais    schedule 12.04.2016