UIAlertView 按钮打开一个新视图,但缺少导航和工具栏



我已经设置了一个表格视图。在主视图中,我使用了一条警报消息:如果用户单击"确定"按钮,则表视图将打开。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) {
        //do nothing
    }
    else if (buttonIndex == 1) {
        myTableViewController *nextViewController = [[myTableViewController alloc] initWithNibName:nil bundle:nil];
        [self presentViewController:nextViewController animated:YES completion:nil];
    }
}

确实会显示表视图,但缺少某些部分。顶部有一个导航栏,底部有一个工具栏,这些都丢失了。仅显示单元格。

当我从其他方法转到此表视图时,它可以正确显示,所以我不知道出了什么问题。

有人可以帮忙吗?谢谢!

如果要显示视图,则需要创建UINavigationController

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) {
        //do nothing
    }
    else if (buttonIndex == 1) {
        myTableViewController *nextViewController = [[myTableViewController alloc] initWithNibName:nil bundle:nil];
        /* BEGIN NEW CODE */
        /* Here, you will init the navController with your table controller as the root, this is important. */
        UINavigationController *controller = [[UINavigationController alloc] initWithRootViewController:nextViewController];
        [controller setModalPresentationStyle:UIModalPresentationFormSheet];
        [controller setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        /* END NEW CODE */
        /* You will now present "controller" instead of the table controller */
        [self presentViewController:controller animated:YES completion:nil];
    }
}

我还要注意,您需要在myTableViewController中创建一个"关闭"按钮(或者您打算关闭此导航控制器(。

您正在调用 presentViewController,它不会将其推送到导航堆栈,而是在当前视图的顶部以模式方式显示它。您要呼叫:

[self.navigationController pushViewController:nextViewController animated:YES];

相关内容

  • 没有找到相关文章

最新更新