Отображение нового представления и контроллера панели вкладок в iOS - PullRequest
0 голосов
/ 16 апреля 2011

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

Мое приложение имеет первое корневое представление, которое имеет панель вкладок с 4 вкладками, одна из вкладок содержит представление таблицы. Когда элемент выбран в табличном представлении, я хочу отобразить страницу сведений (что я могу сделать хорошо), но также полностью изменить панель вкладок, чтобы соответствовать новому набору данных.

Хорошим примером этого является бесплатное приложение F1 2011. При выборе «Live Timing» вы переходите на новый экран с другой панелью вкладок (с кнопкой «Домой» вверху, чтобы вернуться к предыдущему экрану.)

Как лучше всего реализовать это?

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

Fraser

Ответы [ 2 ]

0 голосов
/ 08 августа 2014

Попробуйте связать контроллер представления с таблицей с новым UITabBarController и сделайте его модальным переходом.В классе для вашего viewcontroller с таблицей выполните

#import "FirstViewControllerInNewTabBar"

Затем в методе

(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

вы захотите сделать следующее:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    // Since your segue is pointing to the new tab bar controller
    UITabBarController *tabBarController = (UITabBarController *)segue.destinationViewController;  

    // Now you want to pass data into the new tab bar's view controllers
    FirstViewControllerInNewTabBar *vc = (FirstViewControllerInNewTabBar *)[tabBar.viewControllers objectAtIndex:0];

    // Assuming FirstViewControllerInNewTabBar has a property 'NSString *dataToPassIn'
    vc.dataToPassIn = @"Potato";
}
0 голосов
/ 17 апреля 2011

Просто создайте новое представление tabbarcontroller (как вы делали бы в делегате приложения) в didSelectRowAtIndexpath: метод.

...