我想在xcode中实现以下。
我有一个 View Controller 。在这个 UIViewController
我有一个 UITabBar
。在它们下面是一个 UIView
。将 UITableView
添加到 UIView
的最佳方法是什么?然后能够单击 UITableViewCell
并打开另一个 UIViewController
以显示有关 UITableViewCell
的更多信息?
这是我的 Storyboard的当前设置:
你能给我一个解决这个问题的方法吗?谢谢
您需要解决您的问题,但我不确定您的问题是什么。
在 Storyboard 中,将 UIView
拖到 UIViewController
中。然后在该 UIVIew
中拖动一个 UITableView
(不是 Controller )。
您将能够在左侧看到 View 层次结构。
然后将你的tableview datasource
和 delegate
链接到父 Controller 。
在您的 .h 文件中,添加 UITableViewDataSource
和 UITableViewDelegate
协议(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 年经验...)。
我认为选项 2 更可靠,因为它将代码分成不同的类,允许您独立修改每个类,并且您可以轻松删除/添加新 View 。
据我所知,您的父 Controller 中会有某种 switch 语句,它将加载所需的 UIViewController(或 tableview 或任何东西)。无论你在那里做什么都会像往常一样,但会被限制在另一个 VC 中的一个较小的 View 中。
您可以在 Storyboard 中创建该容器 View ,并使用 segue(ToTable、ToWeb、ToCollection)预先链接每个其他 VC,这就是将容器 View 链接到您的 3 个 UIViewController 的 segue 名称的很好示例。
请注意,如果需要,您可以传递数据,但您将让所有单独的 Controller 处理它们自己的东西,即使它在您当前的 vc 中可见。
关于ios - iOS Xcode 中的 UIViewController 中的 UIView 中的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29939225/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |