我想将我的ViewController分成三个相等的部分,例如。 “什么”,“为什么”,“哪里”以及当每个视图被点击时,它会进入一个se。我想过使用一个UIViewController并有三个独立的视图,然后使用一个点击手势,每个视图到达一个合适的页面。
但后来我想也许我可以使用master-detail 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%。
感谢。
答案 0 :(得分:1)
如果您真的只想要3个大小相同的部分并且正在构建>= iOS9
,那么最简单,最快捷的方法就是使用垂直UIStackView
。
只需将其alignment
设置为fill
,将distribution
设置为fill equally
,然后将其设为3 UIButtons
。向您提供stackView的topAnchor
,bottomAnchor
,leadingAnchor
和trailingAnchor
约束0 superview
。
当然你可以使用UITableView
,但要确保你的单元格各占屏幕尺寸的三分之一,这将是一项非常繁重的工作。您必须确保它们根据屏幕大小动态调整(这是完全可能的)。此外,如果你使用tableView,对于像这样的东西,静态的是最好的。那么你就不必实现很多代理方法,如cellForRow
等。