защо превключвателят на табулаторния контролер не работи, когато се опитваме да натиснем нов контролер на изглед след превключване

Превключвам лентата с раздели, като използвам следната команда

self.tabbarcontroller.selectedIndex=0;

това работи, но ако натискам друг контролер за изглед, тогава превключването на лентата с раздели не се случва, но ако ръчно избера първия контролер за изглед, тогава виждам, че контролерът за избутване на изглед е там.

но защо превключването не се случва само когато друг viewcontroller е натиснат отгоре.

FYI: няма проблем с начина, по който натискам контролера за изглед върху горния контролер за изглед, защото се опитах да коментирам кода за превключване на елемента от лентата с раздели и той се натиска без никакъв проблем.

Всяка помощ се оценява.

--

Актуализация:

Ето моят код за натискане на контролера за изглед

- (UINavigationController*) rootNavigationController {
    UITabBarController* tabBarController = (UITabBarController*) [[self window] rootViewController];

    return  (UINavigationController*) [tabBarController selectedViewController];
}

  [rootNavigationController pushViewController:newViewController animated:true];

comment
Можете ли да публикувате малко повече код за преглед?   -  person Gulliva    schedule 06.09.2018
comment
Просто добавям view controllre на този root viewcontroller след превключването на раздела   -  person Shiva    schedule 06.09.2018


Отговори (1)


Същият проблем ми се е случвал понякога и преди. Индексът се променя по някакъв начин. За да се справите с такива ситуации, по-добре отидете с делегат didSelectItem и запазете текущия елемент като контролер за навигация. Така че няма нужда да използвате [tabBarController selectedViewController]. Реф.: UITabBar(Controller) - Получаване на индекс на докоснати?

person Hari Prasath Balachandran    schedule 06.09.2018