представление скрывает tabbarcontroller - PullRequest
0 голосов
/ 23 мая 2011

Я разработал приложение для iPhone на основе вкладок.В этом я сталкиваюсь с проблемой, как описано ниже:

Представление, связанное с 1-й панелью вкладок, содержит 2-3 кнопки.Действие этих кнопок - загрузить другой вид.Теперь при нажатии этих кнопок представления загружаются, но в полном размере (320х480) и скрывают панель вкладок.Я хочу загрузить это представление чуть выше панели вкладок, чтобы панель вкладок была доступна.Я явно установил рамку вида в функции viewDidLoad этого вида, но она не работает.

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

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Типичная навигация приложения позволяет пользователю свободно перемещаться вперед и назад, между вкладками и т. Д. Это облегчается путем нажатия и выталкивания ViewController в стеке панели навигации.

В определенных сценариях вы хотите заставить пользователя выполнить какую-то задачу, и именно тогда вам следует использовать контроллер модального представления. Когда приложение представляет модальное представление, идея состоит в том, что пользователь НЕ должен иметь возможность отклоняться от представления, вместо этого он должен иметь возможность только завершить или отменить действие, и, следовательно, поведение по умолчанию для модального представления - скрыть навигацию. панель, панель вкладок и т. д.

Из вашего описания мне кажется, что вы выполняете навигацию, а не модальное задание, и поэтому я могу рекомендовать использовать pushViewController вместо presentModalViewController?

Если вы используете только presentModalViewController, потому что вам нужна анимация снизу вверх, вам нужно будет использовать собственную анимацию.

1 голос
/ 23 мая 2011


Попробуйте это:

Вам нужно начать с просмотра приложения.А затем создайте UITabbarController в вашем файле appDelegate.

Appdelegate.h

UITabBarController *tabBarController;
// set properties

Appdelegate.m

// Synthsize

tabBarController = [[UITabBarController alloc] init];
tabBarController.delegate=self;

//Adding Search,Nearby,Map,AboutUs,Favorites Tabs to tabBarController  
Search * search = [[Search alloc] init];  
UINavigationController *searchNav = [[UINavigationController alloc] initWithRootViewController:search];  

Nearby* nearby = [[Nearby alloc] init];  
UINavigationController *nearbyNav = [[UINavigationController alloc] initWithRootViewController:nearby];  

Map* map = [[Map alloc] init];  
UINavigationController *mapNav = [[UINavigationController alloc] initWithRootViewController:map];  

AboutUs* aboutUs = [[AboutUs alloc] init];  
UINavigationController *aboutUsNav = [[UINavigationController alloc] initWithRootViewController:aboutUs];  

Favorites* favorites = [[Favorites alloc] init];  
UINavigationController *favoritesNav = [[UINavigationController alloc] initWithRootViewController:favorites];  

NSArray* controllers = [NSArray arrayWithObjects:searchNav,nearbyNav,mapNav,aboutUsNav,favoritesNav, nil];  
tabBarController.viewControllers = controllers;  

[window addSubview:tabBarController.view];    

Соответственно, вы можете управлять тем, на какой вкладке вы хотите разместить контроллер навигации или толькоконтроллер представления.

Затем в каждом из вышеперечисленных контроллеров представления необходимо реализовать

- (id)init {}

, в котором вы можете установить имя и изображение вкладки.Переименуйте tbs согласно вашему требованию.Поместите 2 кнопки в одно из представлений, которое является контроллером навигации.
Надеюсь, это поможет.

...