gpt4 book ai didi

ios - 我们可以在单 View 应用程序中使用基于表格的导航吗?

转载 作者:行者123 更新时间:2023-11-28 22:27:51 25 4
gpt4 key购买 nike

我创建了具有一些基本功能的单 View iOS 应用程序。并在简单的 View Controller 中添加了 TableView ,现在我想使用带有行导航的 TableView (pushcontroller 和 popcontroller)是可能的,如果是的话,我们如何设置它。

最佳答案

如果您需要完全支持推送/弹出操作,我会使用导航 Controller 。

另一方面,您可以在点击表格行时简单地显示详细信息 View Controller :

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

MyViewController* detailController = <CREATE THE VIEW CONTROLLER>;
[self presentViewController:detailController animated:YES completion:NULL];
}

在这种情况下,您的 detailController 将需要实现一种导航栏或其他机制来让用户关闭 Controller (通过 dismissViewControllerAnimated:completion:)并且返回 TableView 。 (使用导航 Controller 会以规范的方式处理这个问题。)

基于显示/关闭的更简单解决方案的一个主要缺点是,所有以这种方式显示的 View Controller 都会立即关闭,因此您不能拥有多级导航。

编辑:

要将导航 Controller 添加到您的应用程序,只需执行如下操作:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:nil bundle:nil];

...

self.navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

self.window.rootViewController = self.navigationController;

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

...

[self.window makeKeyAndVisible];
return YES;
}

此时,您的 didFinishLaunchingWithOptions 方法应该使用 addSubview 方法来使您的主视图 Controller (在我的示例中名为 MyViewController)可见.您可以用上面的代码替换该调用以实例化导航 Controller 并将其推送到您的主视图 Controller 。

或者,您可以使用基于导航的模板创建一个新的 Xcode 项目,然后将所有源文件移动过来。

关于ios - 我们可以在单 View 应用程序中使用基于表格的导航吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18427706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com