菜鸟教程小白 发表于 2022-12-13 06:50:49

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


                                            <p><p>我想在xcode中实现以下。</p>

<p> <img src="/image/vjuDa.png" alt="interface"/> </p>

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

<p>这是我的 Storyboard的当前设置:</p>

<p> <img src="/image/3ilRR.png" alt="Current Storyboard"/> </p>

<p>你能给我一个解决这个问题的方法吗?谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您需要解决您的问题,但我不确定您的问题是什么。</p>

<p>在 Storyboard 中,将 <code>UIView</code> 拖到 <code>UIViewController</code> 中。然后在该 <code>UIVIew</code> 中拖动一个 <code>UITableView</code>(不是 Controller )。</p>

<p>您将能够在左侧看到 View 层次结构。</p>

<p>然后将你的tableview <code>datasource</code> 和 <code>delegate</code> 链接到父 Controller 。</p>

<p>在您的 .h 文件中,添加 <code>UITableViewDataSource</code> 和 <code>UITableViewDelegate</code> 协议(protocol),还将您的 tableview 链接为 <code>Outlet</code>。</p>

<p>在您的 .m 文件中,添加 tableview 委托(delegate)方法(<code>numberOfRowsInSection:</code> 和 <code>cellForRowAtIndexPath:</code>)</p>

<p>我还建议在 tableview 方法中添加 <code>didSelect:</code>,因为你会需要它。</p>

<p>你可以走了。 :)</p>

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

<p>检查 <a href="https://stackoverflow.com/a/29920901/3603502" rel="noreferrer noopener nofollow">one of my previous answers</a>我在这里解释了如何制作一个 tableview 并让它在传递数据时加载另一个 Controller ,如果我在这里写的所有内容仍然让你感到困惑,那么你可能需要这样做。</p>

<p><strong>跟进:</strong></p>

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

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

<ol>
<li>在您的父 ViewController 中准备好所有可能性,例如,如果您只有 2 种可能性,那就“可以”。</li>
<li>最好的方法是准备一个容器 View (字面意思是容器 View ),它会根据您的需要加载不同的 OTHERViewController 。</li>
</ol>

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

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

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

<p>请注意,如果需要,您可以传递数据,但您将让所有单独的 Controller 处理它们自己的东西,即使它在您当前的 vc 中可见。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iOS Xcode 中的 UIViewController 中的 UIView 中的 UITableView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29939225/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29939225/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iOS Xcode 中的 UIViewController 中的 UIView 中的 UITableView