2010-03-28 3 views
0

Я пытаюсь создать приложение, где у меня есть TabBarController с 4 входами. Когда я выбираю первую запись, появляется представление с UITableView. Этот TableView заполнен несколькими записями.Несколько просмотров для UITabBarController

Что я хотел бы сделать: Когда выбран выход из этого UITableView, появится другой вид; подробное описание.

.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

if (indexPath.row == 0) { 

if(self.secondView == nil) { 
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]]; 
self.secondView = secondViewController; 
[secondViewController release]; 
} 

// Setup the animation 
[self.navigationController pushViewController:self.secondView animated:YES]; 

} 
} 

.h

#import <UIKit/UIKit.h> 
#import "SecondViewController.h" 


@interface FirstViewController : UIViewController { 

SecondViewController *secondView; 

NSMutableArray *myData; 
} 
@property (nonatomic, retain) SecondViewController *secondView; 
@property (nonatomic, copy, readwrite) NSMutableArray* myData; 

@end 

Это то, что я до сих пор.

К сожалению .. код работает, бит второй вид не отображается.

ответ

1

Является ли ваш первый контроллер просмотра завернутым в UINavigationController? При настройке UITabBarController, вы должны добавить UINavigationControllers, а не ваши UIViewController подклассов, например:

FirstViewController *viewControl1 = [[FirstViewController alloc] init]; 
UINavigationController *navControl1 = [[UINavigationController alloc] initWithRootViewController:viewControl1]; 
UITabBarController *tabControl = [[UITabBarController alloc] init]; 
tabControl.viewControllers = [NSArray arrayWithObjects:navControl1, <etc>, nil]; 
//release everything except tabControl 

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

Смежные вопросы