Ios4 iPhone-手机内的按钮,用于将新视图推到屏幕上

Ios4 iPhone-手机内的按钮,用于将新视图推到屏幕上,ios4,uitableview,uinavigationcontroller,addsubview,Ios4,Uitableview,Uinavigationcontroller,Addsubview,嘿,伙计们,我好像遇到了问题。我有一个应用程序(基于视图),在屏幕的下半部分显示UITableView,选择一个单元格,然后在屏幕的底部显示一个自定义单元格。我在这个单元格的右下角有一个“more info”(更多信息)按钮,当它被选中时,我希望它打开一个新的NIB文件,但是我唯一能做的就是从屏幕上删除tableView。我不确定在“addSubview”(添加子视图)之前使用什么,因为它不是我想的self.view - (void)moreInfoButton:(id)selector{

嘿,伙计们,我好像遇到了问题。我有一个应用程序(基于视图),在屏幕的下半部分显示UITableView,选择一个单元格,然后在屏幕的底部显示一个自定义单元格。我在这个单元格的右下角有一个“more info”(更多信息)按钮,当它被选中时,我希望它打开一个新的NIB文件,但是我唯一能做的就是从屏幕上删除tableView。我不确定在“addSubview”(添加子视图)之前使用什么,因为它不是我想的self.view

- (void)moreInfoButton:(id)selector{
    NSLog(@"Button Pressed");
    MoreInfo *mivc = [[MoreInfo alloc] initWithNibName:@"MoreInfo" bundle:nil];
    [self.tableview removeFromSuperview];
    //[self.view addSubview:(UIView *)mivc];
    [self.navigationController pushViewController:mivc animated:YES];
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"List of Events" style:UIBarButtonItemStylePlain target:nil action:nil];
    self.navigationItem.backBarButtonItem = backButton;
    [backButton release];
    [mivc release];

}
而且,(UIView*)也不起作用。有什么建议吗

另外,UITableView根本不使用navigationController,它只是表,这会是问题吗


另外,如果我选择只推送一个新视图,而不使用navigationViewController进行此视图,这可能吗?

我找到了一个简单的方法:将其作为模式推送

- (void)moreInfoButton:(id)selector{
    NSLog(@"Button Pressed");
    MoreInfo *mi= [[MoreInfo alloc] initWithNibName:@"MoreInfo" bundle:nil];
    [self presentModalViewController:mi animated:YES];
}

只需在新的nib文件中添加一个后退按钮即可。

如果没有看到更多的程序,我无法回答导航控制器的问题。要回答其他问题,无需使用导航控制器,您只需添加一个新视图,其中包含:

newViewVC = [[NewViewVC alloc]initWithNibName:@"NewViewVC" bundle:nil];
[self.view addSubview:newViewVC.view];

通常,newViewVC在.h中声明,以便以后发布。

使用这种方式时,在newViewVC中,我有一个按钮可以返回到上一个视图,其内容仅为[self.view removeFromSuperview],但它只有在点击两次后才会关闭,有什么原因吗?有一件事会导致这种情况,那就是如果您以某种方式实例化并添加了两次NewViewVC。如果您还没有看到他们,请查看斯坦福iPhone应用程序开发视频: