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

标签 ios swift uitableview uiviewcontroller

我想将我的 ViewController 分成三个相等的部分,例如。 “什么”、“为什么”、“哪里”以及当每个 View 被点击时,它会自动显示。我想过使用 UIViewController 并拥有三个独立的 View ,然后对每个 View 使用轻击手势以转到相应的页面。

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

   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%。

谢谢。

最佳答案

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

只需将它的alignment设置为fill,将它的distribution设置为fill equally,放入3个 UI 按钮。给你 stackView 的 topAnchorbottomAnchorleadingAnchortrailingAnchorsuperview 的约束为 0

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

关于ios - 我可以使用 tableviewcontroller 和原型(prototype)单元将屏幕分成三个部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46519480/

相关文章:

ios - 快速以编程方式将按钮添加到工具栏

iPhone OpenCV 人脸检测

ios - 为什么当 UIImagePickerController 处于视频模式时,AVFoundation 显示与 UIImagePickerController 相同的缩放级别?

ios - 更改 subview 的高度后调整 super View 的大小 - 没有自动布局

ios - 自定义标注 View 不想出现

ios - 另一个 UItableviewCell 中的 UItableview

swift - 返回一个具有关联值的枚举,其中需要 AnyObject

ios - 无需重启应用程序即可快速切换应用程序语言

ios - 如何在 Swift 中从 indexPath 获取 UITableViewCell 对象?

ios - TableView 不再加载但之前