gpt4 book ai didi

iphone - iPad UISplitViewController 多 Root View

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:16 24 4
gpt4 key购买 nike

我正在为 iPad 开发并使用 Xcode 中提供的模板创建了一个标准的 UISplitViewController 应用程序 - 左侧是标准 UITableView,右侧是详细 View 。

我已经修改了模板,以便当用户从左侧 View 中选择一个表格单元格时,它会在其位置(仍在左侧)推送一个新的表格 View 。这没有问题,但我希望能够从新的 TableView 更新现有的详细信息 View - 有点像 Apple 的邮件应用程序的工作方式。

- 我没有尝试在详细信息 View (右侧)上创建多个 View - 我已阅读文档并查看了 Apple 提供的示例代码。

我阅读/遵循了许多教程,但似乎无法让这个相对简单的 View 层次结构发挥作用。

更多细节:-

在 RootView didSelectTableRowAtIndexPath 委托(delegate)方法中使用 detailViewController.detailItem = @"Test"; 更新详细 View 标签。在新推出的表格 View 中使用完全相同的代码不会更新标签 - 我是否缺少引用点或其他内容??

自发布以来,我尝试使用协议(protocol)和委托(delegate)来更新详细 View 上的标签。当使用新方法从 Root View 更改标签时,标签会正确更新,但是,当我将新 View 推送到 Root View (左侧)时,我无法再更新标签。

最佳答案

在创建 RootViewController 之后的某个时候(或者甚至可能在自定义 init 方法中),您正在为 DetailViewController 设置委托(delegate),这是一个常见的错误,当一个新的 rootViewController 被推送到 NavController 上时,您忘记设置委托(delegate)再次。

您可能正在以下位置创建一个新 Controller :

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

方法和在将新 Controller 推送到 navController 之前记录/增加新 Controller 的级别。创建这个新 Controller 后,再次设置委托(delegate)。

newRootController.myDelegate = self.myDelegate;

在你这样做之前如果你在使用它之前对委托(delegate)进行 NSLog,你可能会发现它为 nil。

关于iphone - iPad UISplitViewController 多 Root View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813570/

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