Как установить вкладку для просмотров? - PullRequest
0 голосов
/ 29 августа 2011

У меня есть view1 и view2.В view1 я установил динамически панель вкладок с двумя элементами панели вкладок.Теперь я хочу установить view1, в котором я должен добавить панель вкладок, на первый элемент панели вкладок.И на втором элементе панели вкладок я хочу установить view2.Теперь скажите мне, как установить view1 на первом элементе панели вкладок, чтобы при нажатии пользователем на элементе панели вкладок1 снова отображался view1 с теми же данными?Как это сделать?Я использую этот код для панели вкладок

 - (void)viewDidLoad {

self.title = @"Business Details";
CGRect myTab =CGRectMake(0,368,320,49);
UITabBar *tabBar = [[[UITabBar alloc] initWithFrame:myTab] autorelease];
NSMutableArray *items = [[[NSMutableArray alloc] init] autorelease];

// Add a 'contacts' item 
[items addObject:[[[UITabBarItem alloc] initWithTitle:@"Detail View" image:nil tag:1] autorelease] ];

// Add a 'More' item
[items addObject:[[[UITabBarItem alloc] initWithTitle:@"Review" image:nil tag:2] autorelease] ];


// Put the items in the tab bar
tabBar.items = items;

// Setup this object to respond to tab changes
tabBar.delegate = self;
[self.view addSubview:tabBar];

  [super viewDidLoad];

}

 - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
switch (item.tag ) {
    case 1:
        dv=[[[DetailView alloc]initWithNibName:@"DetailView" bundle:nil]autorelease];
        [self.navigationController pushViewController:dv animated:YES];
        self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];


        break;
    case 2:
        review_view=[[[Review alloc]initWithNibName:@"Review" bundle:nil]autorelease];
        [self.navigationController pushViewController:review_view animated:YES];
        self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];


    default:
        break;

}

}

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

1 Ответ

1 голос
/ 29 августа 2011

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

Если вы хотите, чтобы панель вкладок находилась внутри подпредставления или модального вида, или просто не на главном экране, то это почти проще. В представлении, где вы хотите перетащить контроллер вкладок в XIB. Настройте свои представления для отдельных вкладок (все еще в IB) и чтобы появился контроллер tabbarcontroller, просто создайте IBOutlet и подключите его к вашему tabbarcontroller и добавьте его как суперпредставление, когда вы хотите, чтобы он появился:

...