我想将我的 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 的 topAnchor
、bottomAnchor
、leadingAnchor
和 trailingAnchor
对 superview 的约束为 0
。
当然,您可以使用 UITableView
,但要确保每个单元格都具有屏幕尺寸的三分之一,需要做大量工作。您必须确保它们根据屏幕尺寸动态调整(这完全有可能)。此外,如果您使用 tableView,对于类似这样的东西,静态的最好。这样你就不必实现很多委托(delegate)方法,比如 cellForRow
等。
关于ios - 我可以使用 tableviewcontroller 和原型(prototype)单元将屏幕分成三个部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46519480/