所以,
我有一个表单(基本上是一个UITableView),完成表单后,我单击屏幕上方的“完成”按钮。
单击后,我需要将数据添加到另一个tableView (在另一个tableViewController中)。此表还位于导航控制器内。
按下Done Button之后,我需要presentModalViewController成为新的tableView (带有新的数据)以及TableView之上的导航控制器。
所以,总结一下:
someTableViewController.
单击Done按钮时,我正在粘贴-(IBAction)。
-(IBAction) doneWithData: (UIBarButtonItem*) sender{
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[indicator sizeToFit];
indicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
indicator.tag = 1;
[self.view addSubview:indicator];
[indicator setBackgroundColor:[UIColor clearColor]];
indicator.center = self.view.center;
indicator.hidden = FALSE;
[indicator startAnimating];
if (self.dogTableViewController == nil)
{
DogTableViewController *temp = [[DogTableViewController alloc] init];
self.dogTableViewController = temp;
[temp release];
}
if (self.dogNavigationController == nil)
{
DogNavigationController *temp = [[DogNavigationController alloc] init];
self.dogNavigationController = temp;
[temp release];
}
[self.dogTableViewController.dogArray addObject:@"Dobby"];
[self.dogTableViewController.tableView reloadData];
NSLog (@"%@", [self.dogTableViewController.dogArray objectAtIndex:0]);
//Prints out "Null" //
[self presentModalViewController:dogNavigationController animated:YES];
[indicator release];
}当我这样做的时候,点击完成按钮,,
我得到一个没有桌子的空导航屏幕。此外,我还在dogNavigationController屏幕上设置了一些按钮。什么都看不见!!
我的目标是将屏幕转移到这个新屏幕(碰巧是主屏幕,而不是rootController)。你认为我应该和modalViewController一起完成这个任务吗?你认为我应该用其他方式将数据传输到另一个屏幕吗?
附注:我不想使用PushViewController。
发布于 2011-06-08 15:51:19
我觉得你应该做
[self.navigationController popToRootViewControllerAnimated:YES];更确切地说。要获得根视图控制器,可以这样做,
DogTableViewController * viewController = [self.navigationController.viewControllers objectAtIndex:0];
[viewController.dogArray addObject:aDog];原始答案
您不应该用根视图控制器初始化导航控制器吗?
DogNavigationController *temp = [[DogNavigationController alloc] initWithRootViewController:self.dogTableViewController];https://stackoverflow.com/questions/6281451
复制相似问题