[英]PushViewController doesn't do anything
这是我第一次尝试使用UINavigationController实现从tableView单元格到另一个tableView的导航,这对我不起作用。 我没有使用nib文件,我有一个简单的tableView,可以在应用程序的模式对话框中显示它,它可以正常工作,现在我在其中一个单元格中添加了displayInidcator,以使用户能够从固定选项中进行选择另一个列表(tableView)中可用的选项数。 为此目的,我还有另一个使第二个tableView的类。 现在的问题是,从第一个表格视图中的单元格(包含公开图标)导航到第二个表格视图没有任何作用,没有错误,没有任何反应。 我想我设置导航控制器的方式是错误的,代码没有落在委托中,或者根本没有第二类的数据源。
在方法:didSelectRowAtIndexPath中的第一个TableView中,我尝试捕获该行,然后像这样调用第二个tableView:
mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ] autorelease];
UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController: self];//not sure the first controller should act as the root controller?
[navCont pushViewController:secondVC animated:YES]; //it does nothing, no error,...
第二个tableViewcontroller类包含所有委托和数据源方法以及初始化方法:
- (id)initWithStyle:(UITableViewStyle)style
{
if ((self = [super initWithStyle:style])) {
}
return self;
}
and declared in interface as:
@interface stockOptionViewController : UITableViewController {
}
我试图玩viewDidLoad,但没有帮助。
请帮我,因为我一无所知,发现的所有示例代码均基于使用nib文件。
谢谢锦
您的导航控制器应该是应用程序委托窗口的根视图控制器,而第一个视图控制器应该是导航控制器的根视图控制器,然后您可以将新的控制器推送到它。
请参阅UINavigationControlle r的文档。
目前,您正在创建导航控制器,但没有将其放置在任何地方,因此,要求它推送新的视图控制器是没有意义的。 您拥有正确的代码,只是顺序不正确。
UINavigationController
应该是根视图控制器。 在当前代码中, navCont
不在视图堆栈中,因此它将无法正常工作。 代替将myFirstViewController
推myFirstViewController
您的myFirstViewController
中,将UINavigationController
推送到堆栈并将myFirstViewController
添加为其根视图控制器。
您可以模态呈现视图控件而无需导航控制器
mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ] autorelease];
[self presentModalViewController:secondVC animated:YES];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.