gpt4 book ai didi

ios - iOs Xcode 中的 UIViewController 中的 UIView 中的 UITableView

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:57 29 4
gpt4 key购买 nike

我想在 xcode 中实现以下功能。

interface

我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITableView 添加到 UIView 的最佳方法是什么?然后能够单击 UITableViewCell 并打开另一个 UIViewController 以显示有关 UITableViewCell 的更多信息?

这是我的 Storyboard的当前设置:

Current Storyboard

你能给我一个解决这个问题的方法吗?谢谢

最佳答案

您需要解决问题的方法,但我不确定您的问题是什么。

在 Storyboard中,将 UIView 拖到您的 UIViewController 中。然后在那个 UIVIew 中拖动一个 UITableView(不是 Controller )。

您将能够在左侧看到 View 层次结构。

然后将您的 tableview datasourcedelegate 链接到父 Controller 。

在您的 .h 文件中,添加 UITableViewDataSourceUITableViewDelegate 协议(protocol),还将您的 tableview 链接为 Outlet

在您的 .m 文件中,添加 tableview 委托(delegate)方法(numberOfRowsInSection:cellForRowAtIndexPath:)

我还建议在 tableview 方法中添加 didSelect:,因为您会需要它。

然后你就可以开始了。 :)

这实际上与创建 tableview 完全相同,只是您的 tableview 是 UIView 的 subview ,如果涉及到代码,这根本无关紧要。您唯一需要“小心”的是在 Storyboard中正确构建您的 View ,并确保约束不会使您的 tableview 由于某种原因无法使用。

检查 one of my previous answers我在这里解释了如何制作一个 TableView 并让它在传递数据时加载另一个 Controller ,如果我在这里写的所有内容仍然让您感到困惑,那么您可能需要这样做。

跟进:

从您的评论中我了解到您的 UIView 的这个 subview 可以是不同的东西; tableview、webview 等等。

有很多方法可以做到这一点,据我所知,我发现有两种方法既简单又可靠(根据我 <1 年的开发人员经验...)。

  1. 在您的父 View Controller 中准备好所有可能性,例如,如果您只有 2 种可能性,那“没问题”。
  2. 最好的方法是准备一个容器 View (它的字面意思是容器 View ),它会根据您的需要加载不同的其他 View Controller 。

我认为选项 2 更可靠,因为它将代码拆分为不同的类,允许您独立修改它们中的每一个,并且您可以轻松地删除/添加新 View 。

据我所知,您的父 Controller 中会有某种 switch 语句,它将加载所需的 UIViewController(或 tableview 或任何东西)。无论你做什么,那里都会像往常一样,但会被限制在另一个 VC 内部的一个较小的 View 中。

您可以在 Storyboard 中创建该容器 View ,并使用 segues(ToTable、ToWeb、ToCollection)预先链接每个其他 VC 是将容器 View 链接到您的 3 个 UIViewController 的 segue 名称的好例子。

请注意,如果需要,您可以传递数据,但是您会让所有单独的 Controller 处理它们自己的东西,即使它在您当前的 vc 中是可见的。

关于ios - iOs Xcode 中的 UIViewController 中的 UIView 中的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29939225/

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