UINavigationController и UITableView - PullRequest
1 голос
/ 04 мая 2011

Я хотел бы создать представление, в котором сверху находится панель навигации, а в качестве содержимого - панель uitabbar внизу. Я хотел бы создать все это программно, без необходимости использовать XIB .. Как я могу это сделать?

Пока у меня есть:

@interface GroupViewController : UINavigationController <UITableViewDelegate, UITableViewDataSource>{
    UITableView * table;
    UITabBar * bar;

}

@property (nonatomic, retain) UITableView * table;
@property (nonatomic, retain) UITabBar * bar;

@end

UITabBarItem при щелчке откроет всплывающее окно (не переключая представление, потому что в этом случае мне понадобится UITabBarViewController).

Одной из моих проблем также является то, где я могу указать расположение UITabBar в этом общем виде? В UIViewDidLoad?

Ответы [ 2 ]

0 голосов
/ 04 мая 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 {}  

, в котором вы можете установить имя и изображение вкладки.

0 голосов
/ 04 мая 2011

Создайте все вещи (панель навигации, uitableview, панель вкладок) в методе loadview.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...