我可以使用 tableviewcontroller 和原型单元将屏幕分成三个部分吗?

Posted

技术标签:

【中文标题】我可以使用 tableviewcontroller 和原型单元将屏幕分成三个部分吗?【英文标题】:Can I use a tableviewcontroller and the prototype cells to split the screen into three sections? 【发布时间】:2017-10-02 04:23:58 【问题描述】:

我想将我的 ViewController 分成三个相等的部分,例如。 “什么”、“为什么”、“在哪里”,以及当每个视图被点击时,它都会进入一个 se。我考虑过使用 UIViewController 并拥有三个单独的视图,然后对每个视图使用轻击手势以进入适当的页面。

但后来我想也许我可以使用一个主从 tableviewcontroller 和一个由三个字符串组成的数组来填充每个单元格。

   override func numberOfSections(in tableView: UITableView) -> Int 
        // #warning Incomplete implementation, return the number of sections
        return 3
    

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        // #warning Incomplete implementation, return the number of rows

        return 1
    

我不知道哪种方式更合法,而对于 tableviewcontroller,我的主要问题是单元格高度。因为理想情况下每个部分中只有一个单元格,所以我希望单元格高度占据该部分的整个高度,但不确定是否可以将单元格高度设置为 100%。

谢谢。

【问题讨论】:

嘿,请看***.com/a/41310654/3548469可能有帮助 您可以简单地在视图中添加按钮 【参考方案1】:

如果您真的只想要 3 个相同大小的部分并且您正在为 >= ios9 构建,那么最简单和最快的方法就是使用垂直的 UIStackView

只需将 alignment 设置为 fill 并将其 distribution 设置为 fill equally,即可加入 3 UIButtons。给你 stackView 的 topAnchorbottomAnchorleadingAnchortrailingAnchor 一个 0 到 superview 的约束。

当然,您可以使用UITableView,但要确保您的单元格的每个单元格都具有三分之一的屏幕尺寸,需要做大量工作。您必须确保它们根据屏幕尺寸动态调整(这完全是可能的)。此外,如果您使用 tableView,则最好使用静态的。这样你就不必实现很多像cellForRow 这样的委托方法了。

【讨论】:

以上是关于我可以使用 tableviewcontroller 和原型单元将屏幕分成三个部分吗?的主要内容,如果未能解决你的问题,请参考以下文章

填充 TableViewController

选择行时 TableViewController 中的两个动画

IOS:来自tableviewcontroller的UITabBarControllerDelegate方法

我创建的TableViewcontroller.xib应该是初始控制器

拉动以刷新 tableviewcontroller 负载

RxSwift 以及如何制作简单的 TableViewController?