Как каждый раз отображать другое представление при нажатии на элемент вкладки в приложении UITabBarBased? - PullRequest
1 голос
/ 19 сентября 2011

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

Iу вас есть приложение на основе UITabbar, а в MainWindow.xib есть различные вкладки, загруженные ранее с представлениями.

Как изменить это программно?

Пожалуйста, помогите

Ответы [ 3 ]

1 голос
/ 19 сентября 2011

просто введите код для создаваемых представлений в методе viewWillAppear вместо viewDidLoad.Это вызывается каждый раз, когда возвращаешься к своей вкладке 1

0 голосов
/ 19 сентября 2011

Реализуйте приведенный ниже метод в вашем делегате приложения

- (void)tabBarController:(UITabBarController *)controller willBeginCustomizingViewControllers:(NSArray *)viewControllers {

    UINavigationController *nc;
    nc = viewController;

    if(controller.selectedIndex == 3){
        [[nc.viewControllers objectAtIndex:0] replaceSubView];
    }
}

Здесь, если (controller.selectedIndex == 3)

3 = индекс вашего viewcontroller, в котором вы хотите изменить подпредставление.

И "replaceSubView"

- это ваш метод в контроллере представления, в котором вы хотите изменить подпредставление.

Сообщите мне в случае каких-либо затруднений.

Приветствия.

0 голосов
/ 19 сентября 2011

Превратить MainWindow или AppDelegate в UITabBarDelegate, чем использовать - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item на выбранные вкладки. Когда нужная вкладка выбрана, используйте image свойство UITabBarItem, чтобы установить понравившееся изображение.

...