0

大家好,我好像遇到了问题。我有一个应用程序(基于视图),它在屏幕的下半部分显示了一个 UITableView,选择了一个单元格,然后调出一个占据屏幕底部的自定义单元格。我在这个单元格的右下角有一个“更多信息”按钮,当它被选中时,我希望它打开一个新的 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 *) 也不能解决问题。有什么建议么?

PS UITableView 根本不使用navigationController,它只是表格,这会是问题吗?

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

4

2 回答 2

0

我找到了一种简单的方法:将其作为模态推送。

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

所需要的只是新 nib 文件中的后退按钮。

于 2011-03-22T19:52:38.923 回答
0

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

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

通常 newViewVC 在您的 .h 中声明,因此您可以稍后发布它。

于 2011-03-22T20:26:22.807 回答