我有一个在测试中遇到的问题,但现在在一个更大的应用程序中,我似乎无法解决。
首先,我有一个有六个按钮的视图,每个按钮加载一个我正在使用的不同视图:
- (IBAction)showInfo2:(id)sender {
InfoViewController *Infocontroller = [[[InfoViewController alloc] initWithNibName:@"InfoView" bundle:nil] autorelease];
Infocontroller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:Infocontroller animated:YES];
}这似乎运行得很好,并加载了下一节,在本例中是“infoview”。然后,我加载一个表视图并填充来自xml提要的全部数据,现在又可以正常工作了(尽管对我来说不是一件容易的任务!)。
问题来了,当我知道尝试和使用:似乎什么都没有发生,即,新的视图没有加载。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here -- for example, create and push another view controller.
SubInfoViewController *subInfoViewController = [[SubInfoViewController alloc] initWithNibName:@"SubInfoView" bundle:nil];
[self.navigationController pushViewController:subInfoViewController animated:YES];
[subInfoViewController release];
}我知道它是被调用的,因为它是有效的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *message = [[NSString alloc] initWithFormat:@"You selected a row"];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Row Selected" message:message delegate:nil cancelButtonTitle:@"Yes I did" otherButtonTitles:nil];
[alert show];
[message release];
[alert release];
}欢迎任何帮助,并请新手温文尔雅:)
发布于 2010-08-18 21:55:16
您的视图可能是推入导航堆栈,但您看不到它,因为您的父视图是模式视图。
您不能尝试这样显示您的SubInfoViewController:
SubInfoViewController *subcontroller=[[SubInfoViewController alloc] initWithNibName:@"SubInfoViewController" withBundle:nil];
[self presentModalViewController:subcontroller animated:YES];
[subcontroller release];如果你想在你的应用程序中保留一个导航逻辑,你不应该以模态的方式显示你的InfoViewController,而是在你的导航堆栈中以一种通用的方式呈现它。
您可以尝试在推送SubViewController之前关闭您的模式视图。在这种情况下,您必须执行以下操作:
SubInfoViewController *controller=[[SubInfoViewController alloc] initWithNibName:@"SubInfoViewController" bundle:nil];
[self.parentViewController pushViewController:controller animated:YES];
[self dismissModalViewControllerAnimated:YES];
[controller release];您将收到一条警告,因为parentViewController可能不会响应pushViewController: animated:,但是对于NSLog,您将看到您的parentViewController实际上是一个UINavigationController。
希望这能有所帮助!
发布于 2010-08-18 16:26:45
到底是什么问题呢?乍一看,您的代码看起来很好。
https://stackoverflow.com/questions/3510198
复制相似问题