菜鸟教程小白 发表于 2022-12-11 18:00:44

ios - 如何设置静态分组 TableView 单元格的宽度


                                            <p><p>我对 Xcode 和 Swift 开发比较陌生,我对带有静态分组单元格的 <code>UITableViewController</code> 有疑问(在 iPad 上)。我想要一个自然的解决方案,使单元格宽度不像整个屏幕那么大。
我试过这个:</p>
<pre><code>override func viewDidAppear(_ animated: Bool) {
      tableView.frame = CGRect(x: 175, y: 70, width: view.bounds.width-350, height: view.bounds.height)
}
</code></pre>
<p>问题是这看起来真的很讨厌,并且顶部和底部的导航栏和标签栏会变得很棘手,但特别是不能正常工作,因为它设置在 <code>viewDidAppear</code>,所以当使用向后滑动时手势(如在设置中), View 仍以全宽显示一秒钟。</p>
<p>您知道解决此问题的其他方法吗?也许一些自动布局的东西,我不知道,我已经尝试了我所知道的一切......</p>
<p>任何帮助将不胜感激!谢谢!</p>
<p> <a href="/image/rYI5h.png" rel="noreferrer noopener nofollow"><img src="/image/rYI5h.png" alt="Placing a tableview in a normal ViewController grouped isn&#39;t allowed by Xcode..."/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如你所说,自动布局可能是要走的路。如果您使用的是 Interface Builder,那么您可以在那里设置您的约束。有大量信息可以帮助解决这个问题。这是一个很好的起点:<a href="https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html" rel="noreferrer noopener nofollow">https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html</a> </p>

<p>您应该切换到使用常规 <code>UIViewController</code> 并手动添加 <code>UITableView</code> 作为 Root View 的 subview 。您还必须手动将 ViewController 设置为 TableView 的委托(delegate)和数据源。然后,您将能够将表格 View 放置在您喜欢的任何位置。不幸的是,您将无法拥有静态单元格 - 但从长远来看,动态设置数据往往是更好的选择。</p>

<p>实现您想要的并且仍然使用 <code>UITableViewController</code> 的另一种方法是将其设置为 subviewController ,但根据我的经验,这更加繁琐并且往往更具限制性。</code> p>

<p>如果您想像代码示例中那样手动设置框架,那么您应该在 <code>viewDidLayoutSubviews</code> 方法中执行此操作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何设置静态分组 TableView 单元格的宽度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40475425/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40475425/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何设置静态分组 TableView 单元格的宽度