我有一个根视图控制器,它有几个按钮。点击这些按钮后,我显示出一个标签栏控制器,每个控制器显示表格视图控制器。我已经实现了这一点。所以基本上,对于每个表视图控制器我有一个专门的类。继续,我替换了标签栏控制器,并将分段控制器添加到导航标题视图。导航控制器+段控制器:无法更改视图
问题是如何根据选定的索引设置视图。我可以将导航标题设置为分段控制,但在选择时我无法设置视图。
以下是我迄今为止所取得的成就。 注意:重要的是运行代码,稍后我会做代码优化。我不想隐藏意见。 我想调用不同的视图控制器类。
RootViewController的类(按钮的点击,我所说的第一个视图控制器,这样我就可以设置区段控制器:
-(IBAction) pushSegmentController: (id) sender
{
NSLog(@"My Location Button being clicked/touched") ;
FirstViewController *firstViewController = [[FirstViewController alloc] init] ;
[self.navigationController pushViewController:firstViewController animated:YES];
// Releae the view controllers
[firstViewController release];
}
IN FirstViewController类:
-(void)viewDidLoad {
[super viewDidLoad];
NSArray *viewControllers = [self segmentViewControllers];
self.segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Table1", @Table2"]];
self.navigationItem.titleView = segmentedControl ;
[self.segmentedControl addTarget:self
action:@selector(indexDidChangeForSegmentedControl:)
forControlEvents:UIControlEventValueChanged];
self.segmentedControl.selectedSegmentIndex = 0; }
-(void)indexDidChangeForSegmentedControl:(UISegmentedControl *)aSegmentedControl {
NSUInteger index = aSegmentedControl.selectedSegmentIndex;
if(index ==0) {
UIViewController *table1Controller = [[AustraliaViewController alloc] initWithStyle:UITableViewStylePlain];
**???? HOW SHOULD I SET THE VIEW OVER HERE... AS ITS A PART OF THE NAVIGATION CONTROLLER**
}
else { }
}
注:我试过使用这个选项:
[navigationController setViewControllers:theViewControllers animated:NO];
但是这个选项并不能给我正确的结果。我应该如何继续,因为我想调用一个视图控制器类,并根据选定的索引设置其视图。
在此先感谢。
最后一行“但是这个选项犯规给我正确的结果”你能解释一下实际问题?我看到你在使用Red Artisan的教程。你确定你在试图将这种技术应用于你自己的代码之前理解它的工作原理吗? – pt2ph8 2011-03-04 22:44:33