【发布时间】:2015-12-23 06:00:54
【问题描述】:
我想设置 UITableView 以匹配表格视图中所有内容的高度。
这是我的故事板
这个问题是顶部和底部的 ImageView 在屏幕上总是静态的。
表格视图中假设有 10 个项目,但由于屏幕尺寸限制,仅显示 7 个。我想在用户能够看到底部的 ImageView 之前显示所有 10 个。 (顺便说一句,所有 3 个视图,即图像视图和表格视图都在 uiscrollview 中)
理想
我必须处理的其他一些限制是表视图中的项目数是动态的,这意味着它可以是任何数量,通常小于 10,我稍后将从 api 检索。并且单元格高度也是动态的,具体取决于内容。
我才刚刚开始写一些简单的代码
class ExampleViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var items: [String] = [
"Item 01", "Item 02", "Item 03", "Item 04", "Item 05",
"Item 06", "Item 07", "Item 08", "Item 09", "Item 10"]
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell")! as UITableViewCell
cell.textLabel?.text = self.items[indexPath.row]
return cell
}
}
【问题讨论】:
-
您是否尝试过 self.items.count*row_height 这将根据内容给出高度,但您也需要编写其他条件来检查屏幕高度
-
为什么不在tableview的页眉和页脚中添加顶部和底部的imageView?
-
页眉和页脚并没有真正起作用,因为顶部和底部的 imageView 只是视图的代表。实际上,它是一个包含更多组件、标签、图像和约束的视图。
-
尝试从底部和顶部布局指南的底部视图和顶部视图添加约束,并固定它们的高度,并将表格视图约束到它们各自的邻居,即顶部和底部。
-
你的意思是顶部和底部图像在视图上是静态的吗?因为如果它们在 屏幕 上是静态的,那么
tableView必须始终保持不变。
标签: ios swift uitableview